整合JDBC
- 完整项目地址:
- 一、创建一个项目
- 二、idea配置连接mysql
- 三、创建yaml数据库连接配置文件
- 四、测试一下,没有问题
- 五、增删改查
- ————————
- 创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~
完整项目地址:
链接:https://pan.baidu.com/s/12rnzTR8nggk2l9Tb2-n8tw
提取码:bppv
–来自百度网盘超级会员V1的分享
新的依赖
<!--jdbc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency>
一、创建一个项目
二、idea配置连接mysql
这就说明idea内置的mysql管理工具连上了,连上了后面有很多方便的地方,sql语句会有提示
三、创建yaml数据库连接配置文件
配置完这一些东西后,我们就可以直接去使用了,因为SpringBoot已经默认帮我们进行了自动配置;去测试类测试一下
四、测试一下,没有问题
五、增删改查
JDBCTemplate
1、有了数据源(com.zaxxer.hikari.HikariDataSource),然后可以拿到数据库连接(java.sql.Connection),有了连接,就可以使用原生的 JDBC 语句来操作数据库;
2、即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC 做了轻量级的封装,即JdbcTemplate。
3、数据库操作的所有 CRUD 方法都在 JdbcTemplate 中。
4、Spring Boot 不仅提供了默认的数据源,同时默认已经配置好了 JdbcTemplate 放在了容器中,程序员只需自己注入即可使用
5、JdbcTemplate 的自动配置是依赖 org.springframework.boot.autoconfigure.jdbc 包下的 JdbcTemplateConfiguration 类
JdbcTemplate主要提供以下几类方法:
-
execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
-
update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;
-
query方法及queryForXXX方法:用于执行查询相关语句;
-
call方法:用于执行存储过程、函数相关语句。
添加一下web启动,创建的时候忘记勾选了
创建一个controller测试一下
package com.chenjiangang.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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Date;
import java.util.List;
import java.util.Map;@RestController
@RequestMapping("/jdbc")
public class JdbcController {/*** Spring Boot 默认提供了数据源,默认提供了 org.springframework.jdbc.core.JdbcTemplate* JdbcTemplate 中会自己注入数据源,用于简化 JDBC操作* 还能避免一些常见的错误,使用起来也不用再自己来关闭数据库连接*/@AutowiredJdbcTemplate jdbcTemplate;//查询employee表中所有数据//List 中的1个 Map 对应数据库的 1行数据//Map 中的 key 对应数据库的字段名,value 对应数据库的字段值@GetMapping("/list")public List<Map<String, Object>> userList(){String sql = "select * from mybatis.user";List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);return maps;}//新增一个用户@GetMapping("/add")public String addUser(){//插入语句,注意时间问题String sql = "insert into mybatis.user(id,name,pwd) values (4,'24736743','123456')";jdbcTemplate.update(sql);//查询return "addOk";}//修改用户信息@GetMapping("/update/{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] = "zzzzz";jdbcTemplate.update(sql,objects);return "updateOk";}//删除用户@GetMapping("/delete/{id}")public String delUser(@PathVariable("id") int id){//语句String sql = "delete from mybatis.user where id=?";jdbcTemplate.update(sql,id);return "deleteOk";}}
启动,四个方法都没有问题