SpringBoot整合JDBC
1.创建一个springboot项目,特别需要注意的是:

2.在resources中新建一个application.yml文件去编写jdbc的相关配置信息

3.在测试类中编写相关代码,打印是否成功连接(输出为控制台中显示的内容)

对于这个class com.zaxxer.hikari.HikariDataSource是一个比吃c3p0更快的一个东西
4.继续编写测试类,建立连接

这个时候会报这样一个错(它代表时区异常):

解决方案(在application。yml中加上):

现在就可以正常运行了

5.分析源码
5.1


点进去之后是一个DataSourceProperties,那么同样对应的有一个DataSourceAutoConfiguration

看一下这个类

6.创建一个controller并编写
6.1在这之前先看一下JdbcTemplate
2.数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。
JdbcTemplate主要提供以下几类方法:
1.execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
2.update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
3.query方法及queryForXXX方法:用于执行查询相关语句;
4.call方法:用于执行存储过程、函数相关语句。
6.2继续编写我们的controller,完成增删查改的功能:
package com.yao.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
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 team";
List<Map<String,Object>> list_maps = jdbcTemplate.queryForList(sql);
return list_maps;
}
@GetMapping("/addUser")
public String addUser(){
String sql = "insert into team VALUE('第十组',30)";
jdbcTemplate.update(sql);
return "update-ok";
}
@GetMapping("/updateUser/{id}")
public String updateUser(@PathVariable("id") String id){
String sql = "update team set `分数`=? where `组号`='"+id+"'";
//封装
double score = 100.0;
jdbcTemplate.update(sql,score);
return "updateUser-ok";
}
@GetMapping("/deleteUser/{id}")
public String deleteUser(@PathVariable("id") String id){
String sql = "delete from team where `组号`='"+id+"'";
System.out.println(sql);
jdbcTemplate.update(sql);
return "deleteUser-ok";
}
}
l另外这里拓展一下:
这里可以加static


浙公网安备 33010602011771号