(9)使用JdbcTemplate【从零开始学Spring Boot】
整体步骤:
(1) 在pom.xml加入jdbcTemplate的依赖;
(2) 编写DemoDao类,声明为:@Repository,引入JdbcTemplate
(3) 编写DemoService类,引入DemoDao进行使用
(4) 编写Demo2Controller进行简单测试。
具体操作流程如下:
使用JdbcTemplate类需要加入(如果在JPA已经加入的话,这个步骤就可以忽略了)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
那么只需要在需要使用的类中加入:
@Resource
private JdbcTemplate 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;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import com.kfit.test.bean.Demo;
/**
* 使用JdbcTemplate操作数据库.
* @author Administrator
*
*/
@Repository
publicclass DemoDao {
@Resource
private JdbcTemplate jdbcTemplate;
/**
* 通过id获取demo对象.
* @param id
* @return
*/
public Demo getById(long id){
String sql = "select *from Demo where id=?";
RowMapper<Demo> rowMapper = new BeanPropertyRowMapper<Demo>(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
*
*/
@Service
public class DemoService {
@Resource
private DemoRepository demoRepository;
@Resource
private DemoDao demoDao;
public void save(Demo demo){
demoRepository.save(demo);
}
public Demo getById(long id){
//demoRepository.findOne(id);//在demoRepository可以直接使用findOne进行获取.
return demoDao.getById(id);
}
}
com.kfit.test.web.Demo2Controller :
package com.kfit.test.web;
import javax.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.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(){
Demo d = 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
=========================================================================
您的打赏是我最大的动力,打开微信或者支付宝扫描二维码向我打赏吧:
(支付宝支付)

(微信支付)
(9)使用JdbcTemplate【从零开始学Spring Boot】的更多相关文章
- (45). Spring Boot MyBatis连接Mysql数据库【从零开始学Spring Boot】
大家在开发的时候,会喜欢jdbcTemplate操作数据库,有喜欢JPA操作数据库的,有喜欢MyBatis操作数据库的,对于这些我个人觉得哪个使用顺手就使用哪个就好了,并没有一定要使用哪个,个人在实际 ...
- (43). Spring Boot动态数据源(多数据源自动切换)【从零开始学Spring Boot】
在上一篇我们介绍了多数据源,但是我们会发现在实际中我们很少直接获取数据源对象进行操作,我们常用的是jdbcTemplate或者是jpa进行操作数据库.那么这一节我们将要介绍怎么进行多数据源动态切换.添 ...
- (42)Spring Boot多数据源【从零开始学Spring Boot】
我们在开发过程中可能需要用到多个数据源,我们有一个项目(MySQL)就是和别的项目(SQL Server)混合使用了.其中SQL Server是别的公司开发的,有些基本数据需要从他们平台进行调取,那么 ...
- (35)Spring Boot集成Redis实现缓存机制【从零开始学Spring Boot】
[本文章是否对你有用以及是否有好的建议,请留言] 本文章牵涉到的技术点比较多:Spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对 ...
- 57. Spring 自定义properties升级篇【从零开始学Spring Boot】
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多 ...
- 4. 使用别的json解析框架【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/51585921 此文章已经废弃,请看新版的博客的完美解决方案: 78. Spring Boo ...
- 17、Spring Boot普通类调用bean【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个 ...
- 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】
转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter) ...
- 81. Spring Boot集成JSP疑问【从零开始学Spring Boot】
[原创文章,转载请注明出处] 针对文章: ()Spring Boot 添加JSP支持[从零开始学Spring Boot] 有网友提了这么一些疑问: 1.Spring Boot使用jsp时,仍旧可以打成 ...
- 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】
[原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...
随机推荐
- ip地址转换成16进制long
<span style="font-size:18px;">public class IpUtil { /** * ip地址转换成16进制long * @param i ...
- 实现泛型IEnumerable接口
用C#实现一个类的IEnumerable接口时有两种方法:1)实现非泛型IEnumerable接口:2)实现泛型IEnumerable(T)接口.如果采用方法1,当集合元素T是值类型时,将涉及到巨多的 ...
- php write excel
/** * 写excel方法 */ function writeExcel($tabArr, $dataArr,$path) { require_once CODE_BASE2 . '/util/ph ...
- [Apple开发者帐户帮助]四、管理密钥(3)撤消,编辑和下载密钥
创建密钥后,您可以撤消,编辑或下载密钥.您只能下载一次密钥.私钥在iOS,tvOS和watchOS上的应用程序之间共享. 所需角色:帐户持有人或管理员. 撤销密钥 如果撤消密钥,它将变为无效并影响使用 ...
- go之switch
switch 条件语句一 格式 switch initialization{ case v1: // do something case v2: // do something case v2: // ...
- Java中Ajaxa中文乱码问题
客户端: url='test/queryList?itemName='+itemName; //如果只转一次url=encodeURI(toUrl); 到后台时:乱码 servlet里dec ...
- Objective-C—— Block
OC Block 其实功能就类似C语言的函数指针,js中的闭包之类的.把代码块当做一个变量就行操作,有自己的变量和作用域. 简单看一下Block的语法和可能出现的问题: Block语法: block语 ...
- 《CSS Mastery》读书笔记(2)
第二章 目标的样式 要用CSS样式化一个HTML元素,必须要定位一个元素, CSS的选择器就是这样的手段. 这章中,你要学到的 • Common selectors 普通选择器 • Advanc ...
- set statistics profile on实例
set statistics profile on实例 1.SQL语句实例 SQL 代码 复制 SET STATISTICS PROFILE ON GO SELECT COUNT(b.[Sal ...
- ★Java语法(四)——————————运算符
使用除法“/” ,要特别注意数据类型的问题.若被除数和除数都是整形,且被除数不能被除数整除时,这时输出的结果为整数,(即整形数/整形数=整形数),这是因为整形变量无法保存小数点后面的数据所致,要特别 ...