第1个回答 2016-12-06
------------------------这个是封装好的类,直接用就可以了---------------------------
public class JDBCTemplate {
// 返回一个集合对象 接收一个sql语句 接收一个user对象
public static List<Users> sele(String sql, ResultDao Object){
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
// 创建一个list集合
List list = new ArrayList();
try {
// 链接数据库
con = DtUtil.getConnection();
// 预编译sql语句
ps = con.prepareStatement(sql);
// 执行sql语句
rs = ps.executeQuery();
// 循环取存入对象里的数据然后放在集合里
while (rs.next()) {
Object object = Object.abtainuser(rs);
list.add(object);
}
} catch (SQLException e) {
System.out.println("查询--数据库访问异常");
e.printStackTrace();
// 关闭流
} finally {
DtUtil.CloseConn(con, ps, rs);
}
// 返回一个集合
return list;
}
//增删改操作
public static int update(String sql,Object... params) {
Connection con = null;
PreparedStatement ps = null;
try {
con = DtUtil.getConnection();
ps = con.prepareStatement(sql);
if(params != null){
for (int i = 0; i < params.length; i++) {
ps.setObject(i+1, params[i]);
}
}
return ps.executeUpdate();
} catch (Exception e) {
System.out.println("数据库增删改访问异常");
e.printStackTrace();
}finally{
DtUtil.CloseConn(con, ps, null);
}
return 0;
}
}
------------------------下面的代码是调用的代码改一下实体类就可以----------------------------------
增 删 改 查
public class JdbcDaoImple implements JdbcDao{
@Override
public List<Users> finAll() {
//创建一个sql语句
String sql = "select * from student";
//获取集合
List<Users> list = JDBCTemplate.sele(sql, new ResultDao());
//返回集合
return list;
}
@Override
public void Insert(Users user ) {
//增加sql语句
String sql="insert into student(id,name,sex) values(students.nextval,?,?)";
//利用值传递,传递参数
JDBCTemplate.update(sql,user.getName(),user.getSex());
}
public void delete(String id){
String sql ="delete from student where id=(?)";
JDBCTemplate.update(sql,id);
}
@Override
public Object update(Users user) {
String sql = "Update student set name=?,sex=? where id=?";
System.out.println("jdbcdaoInple的修改操作"+user.getName()+user.getSex()+user.getId());
JDBCTemplate.update(sql, user.getName(),user.getSex(),user.getId());
return null;
}
}