首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Spring中应用JDBC做的增删改查

2012-08-28 
Spring中使用JDBC做的增删改查Spring中使用JDBC做的增删改查? ? 有三种方式使用JDBC。1、使用JdbcTemplate类

Spring中使用JDBC做的增删改查

Spring中使用JDBC做的增删改查

? ? 有三种方式使用JDBC。

1、使用JdbcTemplate类,实现使用JDBC ,参数是用object数组传递的

?

业务类:

public class UserDaoImpl implements UserDao{//定义一个Jdbcprivate JdbcTemplate jt;//必须有set 方法,因为是通过set方法装配的public void setJt(JdbcTemplate jt) {this.jt = jt;}@Overridepublic void delete(int id) {// TODO Auto-generated method stubString sql="delete from user where id="+id;int temp=this.jt.update(sql);if(temp>0){System.out.println("删除成功!");}else{System.out.println("删除失败!");}}@Overridepublic void insert(User entity) {// TODO Auto-generated method stubString sql="insert into user(name,age,sex) values(?,?,?)";Object obj[]={entity.getName(),entity.getAge(),entity.getSex()};int temp=this.jt.update(sql,obj);if(temp>0){System.out.println("插入成功!");}else{System.out.println("插入失败!");}}@Overridepublic List<User> selectAll() {String sql="select * from user";List list=this.jt.query(sql,new RowMapper(){@Overridepublic Object mapRow(ResultSet rs, int row) throws SQLException {// TODO Auto-generated method stubUser user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));return user;}});System.out.println(list.size());// TODO Auto-generated method stubreturn list;}@Overridepublic User selectById(int id) {// TODO Auto-generated method stubString sql="select id,name,age,sex from user where id="+id;User user=(User)jt.queryForObject(sql, new RowMapper(){@Overridepublic Object mapRow(ResultSet rs, int arg1) throws SQLException {// TODO Auto-generated method stubUser user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));return user;}});return user;}@Overridepublic void update(User entity) {// TODO Auto-generated method stubString sql="update user set name=?,age=?,sex=? where id=?";Object obj[]={entity.getName(),entity.getAge(),entity.getSex(),entity.getId()};int temp=jt.update(sql,obj);if(temp>0){System.out.println("更新成功!");}else{System.out.println("更新失败!");}}}
??

Xml中的部分代码:

<!-- 分散配置 --><context:property-placeholder location="jdbc.properties" /><!--  c3p0的数据源,设置它是为了配置jbdcTemplate--><bean id="comboPooledDataSource" /></bean><!-- 设置业务bean --><bean id="userDaoImpl" ref="jdbcTemplate" /></bean>
??

2、使用NamedParameterJdbcTemplate类,实现JDBC,参数是用Map集合传递的

业务类:

public class UserDaoImpl2 implements UserDao{//定义一个Jdbcprivate NamedParameterJdbcTemplate npjt;//必须有set 方法,因为NamedParameterJdbcTemplate类是用set方法加载的public void setNpjt(NamedParameterJdbcTemplate npjt){this.npjt=npjt;}@Overridepublic void delete(int id) {// TODO Auto-generated method stubString sql="delete from user where id=:id";Map<String,Object> map=new HashMap<String,Object>();map.put("id", id);int temp=this.npjt.update(sql,map);if(temp>0){System.out.println("删除成功!");}else{System.out.println("删除失败!");}}@Overridepublic void insert(User entity) {// TODO Auto-generated method stubString sql="insert into user(name,age,sex) values(:name,:age,:sex)";Map<String,Object> map=new HashMap<String,Object>();map.put("name", entity.getName());map.put("age", entity.getAge());map.put("sex", entity.getSex());int temp=npjt.update(sql, map);if(temp>0){System.out.println("插入成功!");}else{System.out.println("插入失败!");}}//////@Overridepublic List<User> selectAll() {String sql="select * from user";//List list=this.npjt.queryForList(sql, new HashMap());List list=npjt.query(sql, new HashMap(),new RowMapper(){@Overridepublic Object mapRow(ResultSet rs, int arg1) throws SQLException {// TODO Auto-generated method stubUser user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));return user;}});System.out.println(list.size());return list;}@Overridepublic User selectById(int id) {// TODO Auto-generated method stubString sql="select id,name,age,sex from user where id=1";Map<String,Object> map=new HashMap<String,Object>();map.put("id", id);User user=(User)npjt.queryForObject(sql, map, new RowMapper(){@Overridepublic Object mapRow(ResultSet rs, int arg1) throws SQLException {User user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));return user;}});return user;}//@Overridepublic void update(User entity) {// TODO Auto-generated method stubString sql="update user set name=:name,age=:age,sex=:sex where id=:id";Map<String,Object> map=new HashMap<String,Object>();map.put("name", entity.getName());map.put("age", entity.getAge());map.put("sex", entity.getSex());map.put("id", entity.getId());int temp=npjt.update(sql, map);if(temp>0){System.out.println("更新成功!");}else{System.out.println("更新失败!");}}}

? xml中的代码:

<!-- 分散配置 --><context:property-placeholder location="jdbc.properties" /><!--  c3p0的数据源,设置它是为了配置jbdcTemplate--><bean id="comboPooledDataSource" ref="namedParameterJdbcTemplate" /></bean>
??

3、使用SimpleJdbcTemplate类,实现JDBC,参数是用可变参数传递的

业务类:

public class UserDaoImpl3 implements UserDao{//定义一个Jdbcprivate SimpleJdbcTemplate sjt;//必须有set 方法public void setSjt(SimpleJdbcTemplate sjt){this.sjt=sjt;}@Overridepublic void delete(int id) {// TODO Auto-generated method stubString sql="delete from user where id=?";int temp=this.sjt.update(sql, id);if(temp>0){System.out.println("删除成功!");}else{System.out.println("删除失败!");}}@Overridepublic void insert(User entity) {// TODO Auto-generated method stubString sql="insert into user(name,age,sex) values(?,?,?)";int temp=sjt.update(sql,entity.getName(),entity.getAge(),entity.getSex());if(temp>0){System.out.println("插入成功!");}else{System.out.println("插入失败!");}}@Overridepublic List<User> selectAll() {String sql="select * from user";List list=this.sjt.queryForList(sql);System.out.println(list.size());return list;}@Overridepublic User selectById(int id) {// TODO Auto-generated method stubString sql="select id,name,age,sex from user where id=?";User user=(User) sjt.queryForObject(sql, new ParameterizedRowMapper() {@Overridepublic Object mapRow(ResultSet rs, int arg1) throws SQLException {User user=new User();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));return user;}}, id);return user;}@Overridepublic void update(User entity) {// TODO Auto-generated method stub/**第一种方法*///String sql="update user set name=?,age=?,sex=? where id=?";//int temp=sjt.update(sql, entity.getName(),entity.getAge(),entity.getSex(),entity.getId());/**第二种方法*/String sql="update user set name=:name,age=:age,sex=:sex where id=:id";Map<String,Object> map=new HashMap<String,Object>();map.put("name", entity.getName());map.put("age", entity.getAge());map.put("sex", entity.getSex());map.put("id", entity.getId());int temp=sjt.update(sql, map);if(temp>0){System.out.println("更新成功!");}else{System.out.println("更新失败!");}}}

? xml中的部分代码:

<!-- 分散配置 --><context:property-placeholder location="jdbc.properties" /><!--  c3p0的数据源,设置它是为了配置jbdcTemplate--><bean id="comboPooledDataSource" ref="simpleJdbcTemplate" /></bean>
?

热点排行