JDBC备忘录4_CRUD
?
基本模板代码
?
Connection conn = null;Statement st=null;ResultSet rs = null;try {//获得Connection//创建Statement//处理查询结果ResultSet} finally {//释放资源ResultSet, Statement,Connection}
?
?
添加记录
?
// 增加对应SQL的INSERT,返回增加成功的行(记录)数 conn = getConnection();Statement st = conn.createStatement();String sql="insert into user(name, age,regist_date )" + "values(‘name’, 10, now())";int i = st.executeUpdate(sql);//i为插入的记录数
?
读取记录
?
//读取(查询)对应SQL的SELECT,返回查询结果conn = getConnection();st = conn.createStatement();String sql = "select id, name, age,regist_date from user";rs = st.executeQuery(sql);while (rs.next()) {System.out.print(rs.getInt("id") + " \t\t ");System.out.print(rs.getString("name") + " \t\t ");System.out.print(rs.getInt("age") + " \t\t ");System.out.print(rs.getTimestamp("regist_date") + " \t\t ");System.out.println();}
?
?
更新记录
?
//更新(修改)对应SQL的UPDATE,返回被修改的行(记录)数 conn = getConnection();Statement st = conn.createStatement();String sql=“update person set name='new name‘”;int i = st.executeUpdate(sql);//i为符合条件的记录数
?
?
删除记录
?
//删除对应SQL的DELETE,返回被删除的行(记录)数 conn = getConnection();Statement st = conn.createStatement();String sql=“delete from user where id=1”;int i = st.executeUpdate(sql);//i为删掉的记录数
?
?
?
小结
(1)增、删、改用Statement.executeUpdate来完成,返回整数(匹配的记录数),这类操作相对简单。
(2)查询用Statement.executeQuery来完成,返回的是ResultSet对象,ResultSet中包含了查询的结果;查询相对与增、删、改要复杂一些,因为有查询结果要处理。