首页 > 其他分享 >9. 使用JdbcTemplate【从零开始学Spring Boot】

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

时间:2023-06-26 17:37:36浏览次数:28  
标签:kfit Spring Boot 升级 test JdbcTemplate MyBatis


 

 



整体步骤:

(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

privateJdbcTemplatejdbcTemplate;

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

比如:

String sql ="insertinto 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
 *
 */
@Repository
publicclass DemoDao {
    
 @Resource
    private JdbcTemplatejdbcTemplate;
    
 /**
     *通过id获取demo对象.
     *@param id
     *@return
     */
    public Demo getById(longid){
 sql = "select *from Demo where id=?";
 rowMapper = newBeanPropertyRowMapper<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
       privateDemoRepository demoRepository;
      
       @Resource
       private DemoDaodemoDao;
      
       public voidsave(Demo demo){
              demoRepository.save(demo);
       }
      
       public Demo getById(longid){
              //demoRepository.findOne(id);//在demoRepository可以直接使用findOne进行获取.
              returndemoDao.getById(id);
       }
}
 
 com.kfit.test.web.Demo2Controller :
package com.kfit.test.web;
 
importjavax.annotation.Resource;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;
importcom.kfit.test.bean.Demo;
importcom.kfit.test.service.DemoService;
 
@RestController
@RequestMapping("/demo2")
publicclass Demo2Controller{
 @Resource
    private DemoServicedemoService;
    
    
 /**
     *测试保存数据方法.
     *@return
     */
 @RequestMapping("/save")
    public String save(){
 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")
    publicDemo 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



 

网易云课堂视频最新更新

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

3、Spring Boot日志-log4j2

第十二章 Spring Boot 知识点2

1、spring boot 服务配置和部署

2、Spring Boot 定制URL匹配规则

 

 

历史章节:

 

第一章 快速开始

1、Spring Boot之Hello World

2、Spring Boot之Hello World访问404

 

第二章 Spring Boot之JSON

1、spring boot返回json数据

2、Spring Boot完美使用FastJson解析JSON数据

 

第三章 Spring Boot热部署

1、Spring Boot热部署(springloader)

2、springboot + devtools(热部署)

 

第四章 Spring Boot数据库

1、Spring Boot JPA/Hibernate/Spring Data概念

2、Spring Boot JPA-Hibernate

3、Spring Boot Spring Data JPA介绍

4、Spring Boot JdbcTemplate

5、Spring Boot集成MyBatis

 

第五章 web开发

1、全局异常捕捉

2、配置server信息

3、spring boot使用thymeleaf

4、Spring Boot 使用freemarker

5、Spring Boot添加JSP支持

 

第六章 定时任务

1、Spring Boot定时任务

2、Spring Boot 定时任务升级篇(动态修改cron参数)

3、Spring Boot 定时任务升级篇(动态添加修改删除定时任务)

4、Spring Boot 定时任务升级篇(集群/分布式下的定时任务说明)

5、Spring Boot Quartz介绍

6、Spring Boot Quartz在Java Project中使用

7、Spring Boot 集成Quartz普通使用

8、Spring Boot 集成Quartz升级版

9、Spring Boot 集成Quartz二次升级版

10、Spring Boot 集成Quartz-Job如何自动注入Spring容器托管的对象

 

第七章 Spring Boot MyBatis升级篇

1、Spring Boot MyBatis升级篇-注解

2、Spring Boot MyBatis升级篇-注解-自增ID

3、Spring Boot MyBatis升级篇-注解-增删改查

4、Spring Boot MyBatis升级篇-注解-分页查询

5、Spring Boot MyBatis升级篇-注解-分页PageHelper不生效

6、Spring Boot MyBatis升级篇-注解- mybatic insert异常:BindingException: Parameter 'name' not found

7、Spring Boot MyBatis升级篇-注解- #和$符号特别篇

8、Spring Boot MyBatis升级篇-注解-@Result

9、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案一:<script>

10、Spring Boot MyBatis升级篇-注解-动态SQL(if test)-方案二:@Provider

11、Spring Boot MyBatis升级篇-注解-动态SQL-参数问题

12、Spring Boot MyBatis升级篇-注解-特别篇:@MapperScan和@Mapper

13、Spring Boot MyBatis升级篇-XML

14、Spring Boot MyBatis升级篇-XML-自增ID

15、Spring Boot MyBatis升级篇-XML-增删改查

16、Spring Boot MyBatis升级篇-XML-分页查询

17、Spring Boot MyBatis升级篇-XML-分页PageHelper不生效

18、Spring Boot MyBatis升级篇-XML-动态SQL(if test)

19、Spring Boot MyBatis升级篇-XML-注解-初尝试

20、Spring Boot MyBatis升级篇- pagehelper替换为pagehelper-spring-boot-starter

 

第八章 Spring Boot 知识点1

1、Spring Boot 拦截器HandlerInterceptor

2、Spring Boot启动加载数据CommandLineRunner

3、Spring Boot环境变量读取和属性对象的绑定

4、Spring Boot使用自定义的properties

5、Spring Boot使用自定义的properties

6、Spring Boot使用@SpringBootApplication

7、Spring Boot 监控和管理生产环境

 

第十章 Spring Boot 打包部署

1、Spring Boot打包部署((提供Linux的sh文件))

 

第十一章 Spring Boot 日志

1、spring boot日志—理论

2、Spring Boot日志-logback

 

3、Spring Boot日志-log4j2




标签:kfit,Spring,Boot,升级,test,JdbcTemplate,MyBatis
From: https://blog.51cto.com/u_11142439/6556133

相关文章

  • 8. 使用JPA保存数据【从零开始学Spring Boot】
    在看这一篇文档的话,需要先配置好JPA–Hibernate。      总体步骤:(1)  创建实体类Demo,如果已经存在,可以忽略。(2)  创建jparepository类操作持久化。(3)  创建service类。(4)  创建restful请求类。(5)  测试 代码如下:com.kfit.test.bean.Demo:package......
  • 7. JPA - Hibernate【从零开始学Spring Boot】
      在说具体如何在springboot使用Hibernate前,先抛装引玉些知识点?什么是JPA呢?JPA全称JavaPersistenceAPI.JPA通过JDK5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。http://baike.baidu.com/link?url=LdqIXvzTr0RDjY2yoRdpogDdzaZ_L-DrIOpLLzK1z38......
  • 176. Spring Boot WebSocket:汇总篇
     前言:       我们通过几节博客对于websocket有了一个基本的认识,本篇博客进行个汇总。说明:(1)编码中使用的SpringBoot版本是: 1.5.8;(2)使用WebSocket有两种方式: 第一种方式使用socketJS,第二种方式是使用H5的标准。实例中使用的是第二种方式;(3)源代码:源代码下载地址htt......
  • 175. Spring Boot WebSocket:单聊
    需求缘起:       在前面的文章中已经实现了群聊,这里也简单介绍下单聊。这里使用session.getId()中的id作为唯一的消息通道(这里我们称为通讯的频道号), session.getId()是一个递增的数字,从0开始,递增1,2,3… 实际中并不会使用这个id作为标识,这里只是为了讲解方便。效果展示:先看......
  • 172.Spring Boot WebSocket:编码分析
    前言:       在上一篇文章中讲到了WebSocket的原理,这节中我们先简单的编码分析下,这样有助于在之后的实战编码。说明:(1)编码中使用的SpringBoot版本是: 1.5.8;(2)使用WebSocket有两种方式:第一种方式使用socketJS,第二种方式是使用H5的标准。实例中使用的是第二种方式;(3)最后提......
  • 174. Spring Boot WebSocket:群聊-昵称
     需求缘起:       在上一篇文章已经可以群聊功能了,但是存在一个问题,就是无法显示消息是谁发送了,这样就会导致消息乱七八糟的无法解读。在这版文章中解决昵称显示的问题。效果展示: 悟空消息:   师傅消息:   八戒消息: (1)在连接的时候,让用户输入昵称  ......
  • springboot 跨域设置
      写文章 SpringBoot项目解决跨域的几种方案小满只想睡觉一直快乐!​关注她  在用SpringBoot开发后端服务时,我们一般是提供接口给前端使用,但前端通过浏览器调我们接口时,浏览器会有个同源策略的限制,即协议,域名,端口任一不一样时都会......
  • 深度解析SpringBoot内嵌Web容器
    你好,我是刘牌!前言今天分享一个SpringBoot的内嵌Web容器,在SpringBoot还没有出现时,我们使用Java开发了Web项目,需要将其部署到Tomcat下面,需要配置很多xml文件,SpringBoot出现后,就从繁琐的xml文件中解脱出来了,SpringBoot将Web容器进行了内嵌,我们只需要将项目打成一个jar包,就可以运行......
  • Spring生命周期
    SpringBean的生命周期Spring框架中的组件被称为Bean,每个Bean都有其特定的生命周期。下面是SpringBean的生命周期的主要阶段:实例化:在这个阶段,Spring容器根据Bean定义创建Bean的实例。这可以通过构造函数或工厂方法来实现。属性注入:在实例化完成后,Spring容器将会为Bean的属......
  • Spring IoC有什么好处呢?
      来源   https://www.zhihu.com/question/23277575?utm_id=0   SpringIoC有什么好处呢? 作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解控......