SpringBoot整合JDBC的实现

这篇文章主要介绍了SpringBoot整合JDBC的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

简介

JDBC是最原基本的连接数据源的方式,在springboot中所有和数据源有关系的都在Spring Data家族中,所以我们看看springboot中如何使用JDBC来实现对数据库的增删改查操作。

简单使用

引入依赖

这里我们只引入基本的依赖就好,创建一个springboot项目(这里版本是2.1.6),然后添加以下依赖:

org.springframework.bootspring-boot-starter-jdbcMysqLmysql-connector-javaruntimenorg.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testorg.projectlomboklombok

编写配置文件

这里我们需要把数据库的基本连接信息配置好

spring: datasource: driver-class-name: com.MysqL.cj.jdbc.Driver ## 这里如果不配置时区可能会报错,所以配置时区:serverTimezone=UT url: jdbc:MysqL://localhost:3306/study_springboot?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 username: root password: root

编写测试类

@RunWith(springrunner.class) @SpringBoottest public class BaseTest { @Autowired private DataSource dataSource; @Test public void load(){ // 打印出:class com.zaxxer.hikari.HikariDataSource System.out.println(dataSource.getClass()); } }

实现增删改查

spring boot中有很多的xxxTemplate,也就是给我们认配置了 很多的模板,方便我们进行开发,比如上面测试中的 JdbcTemplate,spring boot已经给我们封装好方法了,我们只要调用就好,下面是增删改查的案例:

@RestController public class TestController { @Autowired private JdbcTemplate jdbcTemplate; @GetMapping("/userList") public List> getUserList(){ String sql = "select * from study_springboot.user"; List> maps = jdbcTemplate.queryForList(sql); return maps; } @GetMapping("/addUser") public String addUser(){ String sql = "insert into study_springboot.user(id, name, password) values('1', 'zhangsan', 'qqqq')"; jdbcTemplate.update(sql); return "add success"; } /** * 可以通过占位符实现入参 * @param id * @return */ @GetMapping("/updateUser/{id}") public String updateUser(@PathVariable("id") int id){ String sql = "update study_springboot.user set name =?, password = ? where id = "+id; // 封装占位符 Object[] objects = new Object[2]; objects[0] = "李四"; objects[1] = "pppppp"; jdbcTemplate.update(sql, objects); return "update success"; } @GetMapping("/deleteUser/{id}") public String deleteUser(@PathVariable("id") int id){ String sql = "delete from study_springboot.user where id = ?"; // int 类型也是一个object,所以这样传参也是可以的 jdbcTemplate.update(sql, id); return "delete success"; } }

上面的案例只是展示基本的操作,但是真实项目中是不会这样写的,一般还是整合MyBatis或者JPA来实现操作数据源。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...