博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9. 使用JdbcTemplate
阅读量:5122 次
发布时间:2019-06-13

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

整体步骤:

(1)  在pom.xml加入jdbcTemplate的依赖;

(2)  编写DemoDao类,声明为:@Repository,引入JdbcTemplate

(3)  编写DemoService类,引入DemoDao进行使用

(4)  编写Demo2Controller进行简单测试。

具体操作流程如下:

使用JdbcTemplate类需要加入(如果在JPA已经加入的话,这个步骤就可以忽略了)

org.springframework.boot
spring-boot-starter-data-jpa

 

那么只需要在需要使用的类中加入:

@Resource

privateJdbcTemplate jdbcTemplate;

这样就可以使用jdbcTemplate进行数据库的操作了。

比如:

String sql = "insert into Demo(name,age) values(?,?)";jdbcTemplate.update(sql,new Object[]{demo.getName(),demo.getAge()});

 

 

实战代码:

编写com.kfit.test.dao.DemoDao 数据库操作类:

package com.kfit.test.dao; import javax.annotation.Resource; importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.core.RowMapper;importorg.springframework.stereotype.Repository; import com.kfit.test.bean.Demo; /** * 使用JdbcTemplate操作数据库. * @author Administrator * */@Repositorypublicclass DemoDao {             @Resource       private JdbcTemplate jdbcTemplate;             /**        * 通过id获取demo对象.        * @param id        * @return        */       public Demo getById(longid){              Stringsql = "select*from Demo where id=?";              RowMapper
rowMapper =newBeanPropertyRowMapper
(Demo.class); returnjdbcTemplate.queryForObject(sql, rowMapper,id); } }

 

com.kfit.test.service.DemoService :package com.kfit.test.service; import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.kfit.test.bean.Demo;import com.kfit.test.dao.DemoDao;import com.kfit.test.dao.DemoRepository; /** * 提供Demo服务类. * @author Administrator * */@Servicepublic class DemoService {             @Resource       privateDemoRepository demoRepository;             @Resource       private DemoDaodemoDao;             public voidsave(Demo demo){              demoRepository.save(demo);       }             public Demo getById(longid){              //demoRepository.findOne(id);//在demoRepository可以直接使用findOne进行获取.              returndemoDao.getById(id);       }}

 

 

 c

om.kfit.test.web.Demo2Controller :package com.kfit.test.web; import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;import com.kfit.test.bean.Demo;import com.kfit.test.service.DemoService; @RestController@RequestMapping("/demo2")publicclass Demo2Controller {       @Resource       private DemoService demoService;                   /**        * 测试保存数据方法.        * @return        */       @RequestMapping("/save")       public String save(){              Demod = new Demo();              d.setName("Angel");              demoService.save(d);//保存数据.              return"ok.Demo2Controller.save";       }             //地址:http://127.0.0.1:8080/demo2/getById?id=1       @RequestMapping("/getById")       public Demo getById(longid){              returndemoService.getById(id);       }      }

 

剩下的就是启动进行测试了,访问地址:http://127.0.0.1:8080/demo2/getById?id=1

那么在浏览器中就可以看到:

{

id: 1,

name: "Angel"

}

当前前提是你的数据库中有id=1的数据了,不然会报错的:

org.springframework.dao.EmptyResultDataAccessException

 

 

转载于:https://www.cnblogs.com/blackCatFish/p/9912189.html

你可能感兴趣的文章
Easy前端正确删除datagrid的方式(避免直接删除索引没更新问题)
查看>>
SSL/TLS 安全测试
查看>>
auto-sklearn案例解析一
查看>>
如何使用驰骋工作流引擎的获取最新消息接口实现消息推送?
查看>>
Static Proxy (静态代理模式)
查看>>
Servlet文件上传
查看>>
软件工程——个人总结
查看>>
c++课设
查看>>
Service实时向Activity传递数据案例
查看>>
angularJS之基础知识(三)
查看>>
hue安装
查看>>
打印楼梯同时在楼梯上方打印出两个笑脸.
查看>>
hdu2896 AC自动机
查看>>
asp.net 中文部分显示问号
查看>>
python中的函数以及递归
查看>>
chapter3:Collaborative Filtering ---------A Programmer's Guide to Data Mining
查看>>
关于使用C# 启动msi失败的问题
查看>>
PCB自动标号
查看>>
python---基础之模块,列表,元组,字典
查看>>
购书网
查看>>