6.SpringBoot整合JDBC

6.SpringBoot整合JDBC

​ 第一步:创建一个新的SpringBoot项目选择web模块和数据驱动模块和JDBC场景启动器

在这里插入图片描述

​ 第二步:创建yml配置文件并指定相关数据源配置信息

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver

​ 第三步:连接数据库

  • 最右侧database然后将自己数据库添加进来。

​ 第四步:测试SpringBoot默认数据源

  • 先讲DataSource注入 再在测试类方法中输入
System.out.println(dataSource.getClass());
  • 可以发现SpringBoot默认数据源是Hikari

​ 看看源码分析一下为什么默认数据源是Hikari

  • 根据SpringBoot自动配置原理,可以首先可以找到org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration自动配置类

​ SpringBoot帮我们装配了很多XXXTemplate模板,我们可以很方便的使用

  • 例如JDBCTemplate

在这里插入图片描述

  • JdbcTemplate中有很多操作的方法

在这里插入图片描述

​ 测试JdbcTemplate的使用

  • 编写实体类
package com.yingge.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Integer id;
    private String username;
    private Integer age;
    private String gender;

}
  • 编写controller接口
@RestController
public class JDBCController {

    @Autowired
    JdbcTemplate jdbcTemplate;
	
    @RequestMapping("/findAll")
    public List<Map<String,Object>> findAll(){
        String sql ="select * from user ";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }

}
  • 测试结果

在这里插入图片描述

  • SpringBoot整合JDBC三种方法
@RequestMapping("/findById1")
public List<Map<String,Object>> findById1(){
    String sql ="select * from user where id=1";
    List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
    return list;
}
@RequestMapping("/findById2/{id}")
public List<Map<String,Object>> findById2(@PathVariable("id") Integer id){
    String sql ="select * from user where id="+id;
    List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
    return list;
}
@RequestMapping("/findById3/{id}")
public List<Map<String,Object>> findById3(@PathVariable("id") Integer id){
    String sql ="select * from user where id=?";
    List<Map<String, Object>> list = jdbcTemplate.queryForList(sql,id);
    return list;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值