
JdbcTemplate主要提供以下五类方法:
- execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
- update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
- query方法及queryForXXX方法:用于执行查询相关语句;
- call方法:用于执行存储过程、函数相关语句。
通过update插入数据
1 2 3 4 5 6 7
| ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
JdbcTemplate jdbcTemplate=(JdbcTemplate) ctx.getBean("jdbcTemplate"); String sql="insert into user (name,deptid) values (?,?)"; int count= jdbcTemplate.update(sql, new Object[]{"caoyc",3}); System.out.println(count);
|
通过update修改数据
1 2
| String sql="update user set name=?,deptid=? where id=?"; jdbcTemplate.update(sql,new Object[]{"zhh",5,51});
|
通过update删除数据
1 2
| String sql="delete from user where id=?"; jdbcTemplate.update(sql,51);
|
批量插入、更新和删除方法
批量插入,batchUpdate方法第二参数是一个元素为Object[]数组类型的List集合
1 2 3 4 5 6 7 8
| String sql="insert into user (name,deptid) values (?,?)";
List<Object[]> batchArgs=new ArrayList<Object[]>(); batchArgs.add(new Object[]{"caoyc",6}); batchArgs.add(new Object[]{"zhh",8}); batchArgs.add(new Object[]{"cjx",8});
jdbcTemplate.batchUpdate(sql, batchArgs);
|
从数据中读取数据到实体对象
读取单个对象
1 2 3 4 5
| String sql="select id,name,deptid from user where id=?";
RowMapper<User> rowMapper=new BeanPropertyRowMapper<User>(User.class); User user= jdbcTemplate.queryForObject(sql, rowMapper,52); System.out.println(user);
|
读取多个对象
1 2 3 4 5 6 7
| String sql="select id,name,deptid from user";
RowMapper<User> rowMapper=new BeanPropertyRowMapper<User>(User.class); List<User> users= jdbcTemplate.query(sql, rowMapper); for (User user : users) { System.out.println(user); }
|
获取某个记录某列
或者count、avg、sum等函数返回唯一值
1 2 3 4
| String sql="select count(*) from user";
int count= jdbcTemplate.queryForObject(sql, Integer.class); System.out.println(count);
|
参考