博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JdbcTemplate的方法来完成CRUD的操作
阅读量:3962 次
发布时间:2019-05-24

本文共 2510 字,大约阅读时间需要 8 分钟。

Spring JDBC

* Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发* 步骤:	1. 导入jar包	2. 创建JdbcTemplate对象。依赖于数据源DataSource		* JdbcTemplate template = new JdbcTemplate(ds);	3. 调用JdbcTemplate的方法来完成CRUD的操作		* update():执行DML语句。增、删、改语句		* queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合			* 注意:这个方法查询的结果集长度只能是1		* queryForList():查询结果将结果集封装为list集合			* 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中		* query():查询结果,将结果封装为JavaBean对象			* query的参数:RowMapper				* 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装				* new BeanPropertyRowMapper
<类型>
(类型.class) * queryForObject:查询结果,将结果封装为对象 * 一般用于聚合函数的查询

练习

package jdbctemplate;import java.util.List;import java.util.Map;import org.junit.Test;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.ResultSetExtractor;import utils.JDBCUtils;public class Demo2 {
//Junit单元测试,可以让方法独立执行 //1.获取JdbcTemplate对象 private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource()); //修改1号的数据 @Test public void test1() {
//2.定义sql String sql="update student set fenshu=10000 where id=?"; //3.执行sql int count=template.update(sql,1); System.out.println(count); } @Test //添加一条记录 public void test2() {
String sql="insert into student(id,name,fenshu) values (?,?,?)"; int count=template.update(sql,5,"guojing",5000); System.out.println(count); } @Test //删除一条记录 public void test3() {
String sql="delete from student where id=?"; int count=template.update(sql,5); System.out.println(count); } @Test //查询id为1的记录,将其封装为Map集合 public void test4() {
String sql="select * from student where id=?"; Map
map= template.queryForMap(sql,1); System.out.println(map); //{id=1, name=张三, fenshu=10000} } //查询所有的记录,将其封装为List集合 @Test public void test5() {
String sql = "select * from student"; List
> list = template.queryForList(sql); for (Map
stringObjectMap : list) {
System.out.println(stringObjectMap); } } //查询所有的记录,将其封装为student对象的List集合 @Test public void test6() {
String sql = "select * from student"; List
list = template.query(sql, new BeanPropertyRowMapper
(Student.class)); for(Student student:list) { System.out.println(student); } } //查询总记录数 @Test public void test7() { String sql = "select count(id) from student"; Long total=template.queryForObject(sql, long.class); System.out.println(total); }}

转载地址:http://vdezi.baihongyu.com/

你可能感兴趣的文章
POJ3728,The merchant(倍增LCA+分治)
查看>>
2019 ICPC Malaysia National,E. Optimal Slots(01背包变形)
查看>>
洛谷P1638 逛画展(双向队列)
查看>>
POJ2892,Tunnel Warfare(线段树维护连续区间)
查看>>
POJ3468,A Simple Problem with Integers(线段树-区间查询-区间更新)
查看>>
杭电ACM——6463(思维)
查看>>
杭电ACM——1061,Rightmost Digit(思维)
查看>>
杭电ACM——1087,Super Jumping! Jumping! Jumping!(DP)
查看>>
杭电ACM——fatmouse's speed(DP)
查看>>
杭电ACM——毛毛虫(DP)
查看>>
杭电ACM——humble numbers(DP)
查看>>
杭电ACM——6467,简单数学题(思维)
查看>>
杭电ACM——天上掉馅饼(DP)
查看>>
杭电ACM——1086,You can Solve a Geometry Problem too(思维)
查看>>
杭电ACM——2057,A + B Again(思维)
查看>>
codeforces——1097B,Petr and a Combination Lock(搜索)
查看>>
杭电ACM——2069,Coin Change(DP)
查看>>
杭电ACM——2110,Crisis of HDU(母函数)
查看>>
杭电AM——2152,Fruit(母函数)
查看>>
杭电ACM——2566,统计硬币(DP)
查看>>