packagecom.briup.driver.form.Dao;//缺陷事务都是自动提交的,在增删改查操作的顺序可能会有一定的变化//根据需求改变代码
importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.ArrayList;importjava.util.List;importcom.briup.driver.Student;public classJDBCFunction {//插入,PreparedStatement 预定义插入
public static voidinsert(Student s) {
String sql= "insert into t_student values(?,?,?)";
JDBCUtil.executeUpdate_DML_ps(sql,newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{
ps.setInt(1, s.getId());
ps.setString(2, s.getName());
ps.setInt(3, s.getAge());
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
});
System.out.println("插入成功");
}//改 根据id
public static voidupdate(Student s) {
String sql= "update t_student set name= ? where id = ?";int change = JDBCUtil.executeUpdate_DML_ps(sql, newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{
ps.setString(1, "fys");
ps.setInt(2, s.getId());
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
});if (change == 0) {
System.out.println("修改的数据不存在");
}else{
System.out.println("修改成功");
}
}//DML删除,根据id
public static voiddelete(Student s) {
String sql= "delete from t_student where id =?";int change = JDBCUtil.executeUpdate_DML_ps(sql, newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{
ps.setInt(1, s.getId());
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
});if (change == 0) {
System.out.println("删除的数据不存在");
}else{
System.out.println("删除成功");
}
}//查,根据id
public staticStudent select(Student s) {
String sqlS= "select * from t_student where id=?";
Object object= JDBCUtil.executeQuery_select_ps(sqlS, newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{
ps.setInt(1, s.getId());
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
@OverridepublicStudent processRs(ResultSet rs) {
Student s1= null;try{while(rs.next()) {int id = rs.getInt("id");
String name= rs.getString("name");int age = rs.getInt("age");
s1= newStudent(id, name, age);
}
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}returns1;
}
});if (object == null) {
System.out.println("查找的数据不存在");return null;
}else{return(Student) object;
}
}//插入批处理
public static void insertBatch(Listlist) {
String sqlI= "insert into t_student values(?,?,?)";
JDBCUtil.executeBatch_DML_ps(sqlI,newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{for (int i = 0; i < list.size(); i++) {
ps.setLong(1, list.get(i).getId());
ps.setString(2, list.get(i).getName());
ps.setInt(3, list.get(i).getAge());
ps.addBatch();
}
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
});
System.out.println("插入完毕");
}//插入批删除
public static void deleteBatch(Listlist) {
String sqlI= "delete from t_student where id =?";
JDBCUtil.executeBatch_DML_ps(sqlI,newIWorkAdapter() {
@Overridepublic voidsetValues(PreparedStatement ps) {try{for (int i = 0; i < list.size(); i++) {
ps.setInt(1, list.get(i).getId());
ps.addBatch();
}
}catch(SQLException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
});
System.out.println("删除完毕");
}
}