5、执行crud操作
1、有了数据源(com.zaxxer.hikari.HikariDataSource),然后可以拿到数据库连接
(java.sql.Connection),有了连接,就可以使用连接和原生的 JDBC 语句来操作数据库
2、即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC 做了轻量级的封
装,即 org.springframework.jdbc.core.JdbcTemplate。
3、数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。
4、Spring Boot 不仅提供了默认的数据源,同时默认已经配置好了 JdbcTemplate 放在了容器中,程序
员只需自己注入即可使用
5、JdbcTemplate 的自动配置原理是依赖 org.springframework.boot.autoconfigure.jdbc 包下的
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration 类
package com.yuandengta.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;
import java.util.Random;
@RestController
public class UserController {
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/userlist")
public List<Map<String, Object>> userList() {
String sql = "select * from user";
List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
return maps;
}
@GetMapping("/addUser")
public String addUser() {
Random random = new Random();
int no = random.nextInt(99999);
String sql = "insert into user(name) values('test" + no + "')";
jdbcTemplate.update(sql);
return "success";
}
@GetMapping("/updateUser/{id}")
public String updateUser(@PathVariable("id") Integer id) {
String sql = "update user set name=? where id = " + id;
String name = "list";
jdbcTemplate.update(sql, name);
return "update success";
}
评论0