1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
| @Slf4j public class GoodsDao<T> {
private Connection connection = JDBCUtil.getConnect();
private final String tableName = "goods";
private final String columnList = "id, name, color, price, number";
private volatile static GoodsDao goodsDao;
public GoodsDao() {
}
public void updateConnection(){ connection = JDBCUtil.getConnect(); }
public int insert(Goods entity){ final String sql = String.format("INSERT INTO %s(name, color, price, number) VALUES('%s', '%s', %d, %d);", tableName, entity.getName(), entity.getColor(), entity.getPrice(), entity.getNumber()); Statement stmt = null; log.info(sql); int len = -1; try { stmt = connection.createStatement(); len = stmt.executeUpdate(sql); } catch (SQLException throwables) { throwables.printStackTrace(); } return len; }
public int insertBatch(List<Goods> entities){ int len = 0; for(Goods entity: entities){ len += this.insert(entity); } return len; }
public void deleteById(T id){ final String sql = String.format("DELETE FROM %s WHERE id = %d",tableName, id); log.info(sql); Statement stmt = null; try { stmt = connection.createStatement(); stmt.executeUpdate(sql); } catch (SQLException throwables) { throwables.printStackTrace(); }
}
public void updateById(Goods entity){ final String sql = String.format( "UPDATE %s SET name = '%s', color='%s', price= %d, number= %d WHERE id = %d;", tableName, entity.getName(), entity.getColor(), entity.getPrice(), entity.getNumber(), entity.getId()); log.info(sql); Statement stmt = null; try { stmt = connection.createStatement(); stmt.executeUpdate(sql); } catch (SQLException throwables) { throwables.printStackTrace(); } }
public List<Goods> findAll() { final String sql = "SELECT " + columnList + " FROM "+tableName+";"; return executeQuery(sql); }
private List<Goods> executeQuery(String sql){ log.info(sql); List<Goods> entities = null; Statement stmt = null; try { stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sql); entities = generateResult(rs); } catch (SQLException e) { e.printStackTrace(); } return entities; }
private List<Goods> generateResult(ResultSet rs) throws SQLException { List<Goods> entities = new ArrayList<>(); while(rs.next()){
Goods entity = new Goods( rs.getInt(1), rs.getString(2), rs.getString(3), rs.getInt(4), rs.getInt(5) ); entities.add(entity); } return entities; } }
|