`

9. 使用JdbcTemplate【从零开始学Spring Boot】

阅读更多

 à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

整体步骤:

(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

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

{

id1,

name"Angel"

}

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

org.springframework.dao.EmptyResultDataAccessException

 

 

=========================================================================

您的打赏是我最大的动力,打开微信或者支付宝扫描二维码向我打赏吧:


(支付宝支付)

 

 



(微信支付)

 

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr

 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

 

分享到:
评论
6 楼 dodomelee 2018-08-17  
感谢分享
5 楼 wangviviying 2016-11-09  
不加spring-boot-starter-jdbc  
datasource不会自动实例化的
4 楼 林祥纤 2016-11-01  
bf1977 写道
jdbcTemplate 为什么不用Autowired引入 而用 Resource呢,有何区别 ?


这个自己找下资料就知道了.
3 楼 bf1977 2016-10-28  
使用jdbctemplate 应该加的依赖是spring-boot-starter-jdbc 吧?不用依赖 spring-boot-starter-data-jpa
2 楼 bf1977 2016-10-28  
jdbcTemplate 为什么不用Autowired引入 而用 Resource呢,有何区别 ?
1 楼 masuweng 2016-08-08  

相关推荐

Global site tag (gtag.js) - Google Analytics