Springboot整合jdbc和Mybatis

目录

整合jdbc

1. 新建项目

2. 编写yaml配置文件连接数据库

3. 测试类

使用原生的jdbcTemplate进行访问测试

使用Druid连接池

1. 添加类型

2. 初始化连接池

3. 编写config类

配置Druid数据源监视

整合Mybatis

1. 导入依赖

2. 编写mapper接口

3. 编写实体类

4. 编写mapper.xml

5. controller层调用方法


整合jdbc

1. 新建项目

2. 编写yaml配置文件连接数据库

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

3. 测试类

@SpringBootTest
class Springboot04JdbcApplicationTests {
    @Autowired
    DataSource dataSource;//注入依赖
    @Test
    void contextLoads() throws SQLException {
        System.out.println(dataSource.getClass());//测试一下类型
        Connection connection = dataSource.getConnection();
        System.out.println(connection);
    }
}

可以得到数据源为:class com.zaxxer.hikari.HikariDataSource

使用原生的jdbcTemplate进行访问测试

  • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

  • update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

  • query方法及queryForXXX方法:用于执行查询相关语句;

  • call方法:用于执行存储过程、函数相关语句。

@RestController
public class JDBCController {

    @Autowired
    JdbcTemplate jdbcTemplate;

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

使用Druid连接池

1. 添加类型

在yml中设置type

type: com.alibaba.druid.pool.DruidDataSource # 自定义数据源

2. 初始化连接池

    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true

3. 编写config类

@Configuration
public class DruidConfig {

    @ConfigurationProperties(prefix = "spring.datasource")
    @Bean
    public DataSource druidDataSource(){
        return new DruidDataSource();
    }
}

@ConfigurationProperties(prefix = "spring.datasource"):将全局配置文件中前缀为 spring.datasource的属性值注入到 com.alibaba.druid.pool.DruidDataSource 的同名参数中

配置Druid数据源监视

@Bean
    public ServletRegistrationBean servletRegistrationBean(){
        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
        HashMap<String, String> init = new HashMap<>();
        init.put("loginUsername","admin");//初始化
        init.put("loginPassword","123");
        //后台允许谁访问
        init.put("allow","");

        bean.setInitParameters(init);
        return bean;
    }

当执行一次sql时,后台会有监视 

整合Mybatis

1. 导入依赖

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>

2. 编写mapper接口

@Mapper
@Component
public interface UserMapper {
    List<User> query();
}

 @Mapper : 表示本类是一个 MyBatis 的 Mapper

3. 编写实体类

使用Lombok注解

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    int id;
    String name;
    String password;
}

4. 编写mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.demos.mapper.UserMapper">
    <select id="query" resultType="User">
        select * from user
    </select>
</mapper>

5. controller层调用方法

@RestController
public class UserController {

    @Autowired
    UserMapper userMapper;

    @RequestMapping(value = "/query")
    public List query(){
        List<User> query = userMapper.query();
        return query;
    }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
首先,你需要在Spring Boot项目中添加相应的依赖。 在pom.xml文件中添加以下依赖: ```xml <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <!-- MyBatis Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 接下来,配置数据库连接和MyBatis相关的配置。 在application.properties或application.yml文件中添加以下配置: ```yaml # 数据库连接配置 spring.datasource.url=jdbc:mysql://localhost:3306/db_name spring.datasource.username=username spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # MyBatis Plus配置 # 设置mapper.xml的位置 mybatis-plus.mapper-locations=classpath:mapper/*.xml # 设置实体类包名 mybatis-plus.type-aliases-package=com.example.entity ``` 然后,创建实体类和Mapper接口。 创建实体类,例如: ```java @Data @TableName("user") // 指定对应的数据库表名 public class User { @TableId(type = IdType.AUTO) private Long id; private String username; private String password; // 其他字段... } ``` 创建Mapper接口,例如: ```java @Repository public interface UserMapper extends BaseMapper<User> { // 自定义查询方法... } ``` 最后,使用MyBatis Plus提供的注解和方法进行数据库操作。 例如,在Service或Controller中注入UserMapper,然后使用UserMapper进行数据库操作,例如: ```java @Autowired private UserMapper userMapper; public void addUser(User user) { userMapper.insert(user); } public User getUserById(Long id) { return userMapper.selectById(id); } // 其他数据库操作... ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值