packagecom.zhf.goods.dao;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.stereotype.Repository;
importjavax.sql.DataSource;
importjava.sql.*;
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
/**
* @author zhf
* @version 1.0
* @date 2020/12/1
*/
@Repository
publicclassDefaultGoodsDaoimplementsGoodsDao{
@Autowired
privateDataSourcedataSource;
privatestaticfinalLoggerlog=
LoggerFactory.getLogger(DefaultGoodsDao.class);
MaprowMap(ResultSetMetaDatarsmd,ResultSetrs)throwsSQLException{
Mapmap=newHashMap<>();
for(inti=1;i<=rsmd.getColumnCount();i++) {
map.put(rsmd.getColumnName(i),rs.getObject(rsmd.getColumnName(i)));
}
returnmap;
}
@Override
publicList>findGoods() {
Connectionconn=null;
Statementstatement=null;
ResultSetrs=null;
Stringsql="select * from tb_goods";
try{
conn=dataSource.getConnection();
statement=conn.createStatement();
rs=statement.executeQuery(sql);
List>list=newArrayList<>();
ResultSetMetaDatarsmd=rs.getMetaData();
while(rs.next()) {
// Map map = new HashMap<>();
// map.put("id",rs.getInt("id"));
// map.put("name", rs.getString("name"));
// map.put("remark", rs.getString("remark"));
// map.put("createdTime", rs.getTimestamp("createdTime"));
// list.add(map);
list.add(rowMap(rsmd,rs));
}
returnlist;
}catch(SQLExceptione) {
e.printStackTrace();
// log.info("查询异常!!" + e.getMessage());
log.error("查询异常,{}",e.getMessage());//{}表示占位符
thrownewRuntimeException("数据查询失败"+e.getMessage());//转换为非检查异常(编译时不检测的异常)
}finally{
// if (rs != null) try {
// rs.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
// if (statement != null) try {
// statement.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
// if (conn != null) try {
// conn.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
close(rs,statement,conn);
}
}
publicvoidclose(ResultSetrs,Statementstatement,Connectionconn) {
if(rs!=null)try{
rs.close();
}catch(Exceptione) {
e.printStackTrace();
}
if(statement!=null)try{
statement.close();
}catch(Exceptione) {
e.printStackTrace();
}
if(conn!=null)try{
conn.close();
}catch(Exceptione) {
e.printStackTrace();
}
}
}