SpringBoot整合JDBC的实现

网友投稿 231 2022-11-06


SpringBoot整合JDBC的实现

简介

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

简单使用

引入依赖

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

org.springframework.boot

spring-boot-starter-jdbc

mysql

mysql-connector-java

runtimen

org.springframework.boot

spring-boot-starter-web

org.springframGqwkkework.boot

spring-boot-starter-test

org.projectlombok

lombok

编写配置文件

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

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已经给我们封装好方法了,我们只要调用就好,下面是增删改Gqwkk查的案例:

@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来实现操作数据源。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【数据分析与预处理】 ---- 数据标准化
下一篇:【Java】常用类 总结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~