这篇文章给大家分享的是有关SpringBoot如何使用JdbcTemplate访问操作数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Spring对数据库的操作在jdbc上s面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

JdbcTemplateSpring-jdbc包下面,还需要Spring-tx包支持,里面包含事务和异常控制.

一、建一个rumenz_springboot库

创建user表:

createtableuser(idintprimarykeyauto_increment,namevarchar(100)notnulldefault'',domainvarchar(100)notnulldefault'')engine=innodbdefaultcharset=utf8;二、加入pom的依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>三、SpringBoot配置文件

application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/rumenz_springbootspring.datasource.username=rootspring.datasource.password=root1234spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver四、创建User实体类

@Builder@Data@AllArgsConstructorpublicclassUserimplementsRowMapper{privateIntegerid;privateStringname;privateStringdomain;@OverridepublicObjectmapRow(ResultSetrs,introwNum)throwsSQLException{Useruser=newUser();user.setId(rs.getInt("id"));user.setName(rs.getString("name"));user.setDomain(rs.getString("domain"));returnuser;}}五、Service接口

UserService.java

packagecom.rumenz.lession14.controller.service;importcom.rumenz.lession14.controller.entity.User;importjava.util.List;/***@className:UserService*@description:TODO类描述*@author:入门小站rumenz.com*@date:2021/12/13**/publicinterfaceUserService{Integersave(Useruser);List<User>list();Integerupdate(Useruser);IntegerbatchSave();}六、Service接口实现类

UserServiceImpl.java

packagecom.rumenz.lession14.controller.service.Impl;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.json.JsonMapper;importcom.rumenz.lession14.controller.entity.User;importcom.rumenz.lession14.controller.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.jdbc.core.BeanPropertyRowMapper;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.stereotype.Service;importjava.util.ArrayList;importjava.util.List;/***@className:UserServiceImpl*@description:TODO类描述*@author:入门小站rumenz.com*@date:2021/12/13**/@ServicepublicclassUserServiceImplimplementsUserService{@AutowiredprivateJdbcTemplatejdbcTemplate;@OverridepublicIntegersave(Useruser){intreint=jdbcTemplate.update("insertintouser(name,domain)values(?,?)",user.getName(),user.getDomain());returnreint;}@OverridepublicIntegerbatchSave(){Stringsql="insertintouser(name,domain)values(?,?)";List<Object[]>par=newArrayList<>();for(inti=0;i<10;i++){String[]s=newString[2];s[0]="入门小站"+i;s[1]="https://rumenz.com/"+i;par.add(s);}int[]ints=jdbcTemplate.batchUpdate(sql,par);System.out.println(ints.toString());return0;}@OverridepublicList<User>list(){//User实现RowMapper接口,实现接口里的mapRow方法。List<User>list=jdbcTemplate.query("select*fromuser",newUser());returnlist;}@OverridepublicIntegerupdate(Useruser){Integerreint=jdbcTemplate.update("updateusersetname=?,domain=?whereid=?",user.getName(),user.getDomain(),user.getId());//returnreint;}}七、Controller测试

RumenzController.java

packagecom.rumenz.lession14.controller;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.rumenz.lession14.controller.entity.User;importcom.rumenz.lession14.controller.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;/***@className:RumenzController*@description:TODO类描述*@author:入门小站rumenz.com*@date:2021/12/13**/@RestController@RequestMapping("/rumenz")publicclassRumenzController{@AutowiredprivateUserServiceuserService;//添加数据@GetMapping("/save")publicStringsave(){Useruser=User.builder().name("入门小站").domain("https://rumenz.com").build();Integerreint=userService.save(user);returnreint.toString();}//批量添加数据@GetMapping("/batchSave")publicStringbatchSave(){Integerreint=userService.batchSave();returnreint.toString();}//查询数据@GetMapping("/list")publicStringlist()throwsJsonProcessingException{List<User>list=userService.list();ObjectMapperobjectMapper=newObjectMapper();Stringval=objectMapper.writeValueAsString(list);returnval;}//更新数据@GetMapping("/update")publicStringupdate()throwsJsonProcessingException{Useruser=User.builder().id(1).name("入门小站-修改").domain("https://tooltt.com").build();Integerreint=userService.update(user);returnreint.toString();}}八、总结

常用CURD操作大致使用以下三个方法:

1.execute方法,用于直接执行SQL语句

2.update方法,用户新增修改删除操作

3.query方法,用于查询方法

感谢各位的阅读!关于“SpringBoot如何使用JdbcTemplate访问操作数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!