JavaEE(20)SpringBoot整合数据库(JDBC,Druid,Mybatis)

本文详细介绍了如何在SpringBoot项目中整合JDBC、Druid数据源以及Mybatis。首先,文章讲解了SpringData与JDBC的整合,包括配置数据库连接、使用JDBCTemplate进行数据库操作。接着,介绍了如何切换到Druid数据源并配置其基本参数,以及设置Druid的监控功能。最后,文章阐述了Mybatis的整合步骤,包括导入依赖、配置数据库信息、创建实体类、Mapper接口及映射文件,最后通过Controller进行测试验证。
摘要由CSDN通过智能技术生成

1. 整合JDBC

1. SpringData
(1)介绍:对于数据访问层,无论是 SQL(关系型数据库) 还是 NOSQL(非关系型数据库),Spring Boot 底层都是采用 Spring Data 的方式进行统一处理

2. 整合JDBC
(1)建立项目:导入JDBC-API和MySQL-Driver
(2)编写yml配置文件连接数据库

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    driver-class-name: com.mysql.jdbc.Driver
    username: root
    password: root

(3)测试

@SpringBootTest
class Springboot07DataApplicationTests {
   

    @Autowired
    DataSource dataSource;

    @Test
    void contextLoads() throws SQLException {
   

        //查看默认的数据源
        System.out.println(dataSource.getClass());
        //class com.zaxxer.hikari.HikariDataSource


        //查看链接
        System.out.println(dataSource.getConnection());
        //HikariProxyConnection@394190359 wrapping com.mysql.cj.jdbc.ConnectionImpl@17176b18
    }

}

3. JDBCTemplate
(1)JDBCTemplate:有了数据源(HikariDataSource)就可以拿到数据库连接(Connection),就可以使用原生的JDBC语句进行操作数据库。
(2)即使不使用第三方第数据库操作框架,如 MyBatis等,Spring 本身也对原生的JDBC做了轻量级的封装,即JDBCTemplate,数据库所有CRUD方法都在JDBCTemplate类中
(3)SpringBoot不仅提供了数据源,同时默认配置好了JDBCTemplate放在容器中,只需要注入使用即可
(4)测试:编写一个Controller,注入JDBCTemplate,编写方法进行测试

@RestController
public class JDBCController {
   

    @Autowired
    JdbcTemplate jdbcTemplate;

    @GetMapping("/all")
    //http://localhost:8080/all
    public List<Map<String,Object>> getAll(){
   
        String sql = "select * from user";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }


    @GetMapping("/add")
    //http://localhost:8080/add
    public String addUser(){
   
        String sql = "insert into user(name,age) values('赵六','26')";
        int update = jdbcTemplate.update(sql);
        if (update>0) {
   
            return "addUser OK";
        }else{
   
            return "false";
        }
    }

    @GetMapping("/update/{id}")
    //http://localhost:8080/update/1
    public String updateUser(@PathVariable("id")int id){
   
        String sql = "update user set name = ?,age = ? where id = " + id;
        Object[] objects = new Object[2];
        objects[0] = "小张三";
        objects[1] = 13;
        int update = jdbcTemplate.update(sql, objects);
        if (update>0) {
   
            return "updateUser OK";
        }else{
   
            return "false";
        }
    }

    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值