SpringBoot系列:使用原生JDBC实现对数据库的增删改查
application.yml
spring: datasource: username: root password: 123456 url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.cj.jdbc.Driver
ApplicationTests
package com.xiao; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; @SpringBootTest class Springboot04DataApplicationTests { @Autowired DataSource dataSource; @Test void contextLoads() { System.out.println(dataSource.getClass()); //获得数据库链接 try { Connection connection= dataSource.getConnection(); System.out.println(connection); connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } }
JDBCController
package com.xiao.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @RestController public class JDBCController { @Autowired JdbcTemplate jdbcTemplate; @GetMapping("/userList") public List<Map<String,Object>> userList(){ String sql="select * from user"; List<Map<String,Object>> list_maps=jdbcTemplate.queryForList(sql); return list_maps; } @GetMapping("/addUser") public String addUser(){ String sql="insert into mybatis.user(id,name,pwd) values(4,'小如','123456')"; jdbcTemplate.update(sql); return "ok"; } @GetMapping("/updateUser/{id}") public String updateUser(@PathVariable("id") int id){ String sql="update mybatis.user set name=?,pwd=? where id="+id; Object[] objects=new Object[2]; objects[0]="小品"; objects[1]="3745678"; jdbcTemplate.update(sql,objects); return "ok"; } @GetMapping("/deleteUser/{id}") public String deleteUser(@PathVariable("id") int id){ String sql="delete from mybatis.user where id=?"; jdbcTemplate.update(sql,id); return "ok"; } }
使用springboot后,你会发现,即便是原生JDBC来进行CRUD,依然十分的简便,因为springboot帮我们做了很多事,一个DataSource,一个JdbcTemplate就省去了很多很多我们原先需要做的事了。