#DAO层
//增删改的方法
public int 方法名(Connection conn, 实体类) throws SQLException {
PreparedStatement pst = null;//预加载对象
String sql = "";//预编译的 SQL 语句(也称为预处理语句或参数化查询)
try {
pst = conn.prepareStatement(sql);//获取预加载实例
/*
数据绑定
*/
return pst.executeUpdate();//执行SQL语句
} catch (SQLException e) {
throw e;
} finally {
//关闭预加载
DBUtil.close(pst);
}
}
//查的方法
public 集合 方法名(Connection conn, 查询条件) throws SQLException {
PreparedStatement pst = null;//预加载对象
ResultSet rs = null;//结果集对象
String sql = "";//预编译的 SQL 语句(也称为预处理语句或参数化查询)
try {
pst = conn.prepareStatement(sql);//获取预加载实例
/*
数据绑定
pst.set···(参数序号,值);
*/
rs=pst.executeQuery(); //执行SQL语句
List<元素类名> list = new ArrayList<>();
//next()会检查并移动一行
while(rs.next()){/*遍历结果集*/
rs.getInt("属性名");
rs.getSting("属性名");
}
return list;
} catch (SQLException e) {
throw e;
} finally {
//关闭预加载
DBUtil.close(rs, pst;
}
}
#Service层
public class DeptService {
private DAO类 DAO = new DAO类();
public boolean service(实体类, 主键) {
//获取数据库连接
Connection conn = DBUtil.getConnection();
try {
conn.setAutoCommit(false);//关闭数据库自动提交
DAO.insert(conn, 实体类);
DAO.deleteByDeptno(conn, 主键);
conn.commit();//手动提交
return true;
} catch (SQLException e) {
conn.rollback();//回滚,撤销增删改操作
e.printStackTrace();
return false;
} finally {
//关闭数据库连接
DBUtil.close(conn);
}
}
这里是引用