Mybatis案例

1、【microboot项目】修改配置文件,引入所需要的相关依赖库:

ext.versions = [    // 定义所有要使用的版本号
        springboot                          : '2.4.3', // SpringBoot版本号
        junit                               : '5.7.1', // 配置JUnit测试工具的版本编号
        junitPlatformLauncher               : '1.7.1',  // JUnit测试工具运行平台版本编号
        lombok                              : '1.18.18', // Lombok插件对应的版本号
        mysql                               : '8.0.25', // MySQL驱动的版本
        druid                               : '1.2.6', // Druid版本
        mybatisSpringBoot                   : '2.2.0', // Mybatis-SpringBoot整合依赖
]
ext.libraries = [   // 定义所有的依赖库
        'spring-boot-gradle-plugin': "org.springframework.boot:spring-boot-gradle-plugin:${versions.springboot}",
        // 以下的配置为与项目用例测试有关的依赖
        'junit-jupiter-api': "org.junit.jupiter:junit-jupiter-api:${versions.junit}",
        'junit-vintage-engine': "org.junit.vintage:junit-vintage-engine:${versions.junit}",
        'junit-jupiter-engine': "org.junit.jupiter:junit-jupiter-engine:${versions.junit}",
        'junit-platform-launcher': "org.junit.platform:junit-platform-launcher:${versions.junitPlatformLauncher}",
        'junit-bom': "org.junit:junit-bom:${versions.junit}",
        // 以下的配置为Lombok组件有关的依赖
        'lombok': "org.projectlombok:lombok:${versions.lombok}",
        // 以下的配置为数据库开发所需要的依赖:
        'mysql-connector-java': "mysql:mysql-connector-java:${versions.mysql}",
        'druid-spring-boot-starter': "com.alibaba:druid-spring-boot-starter:${versions.druid}",
        'spring-jdbc': "org.springframework:spring-jdbc:${versions.springJdbc}",
        'druid': "com.alibaba:druid:${versions.druid}",
        // 以下的配置为MyBatis开发框架所需要的依赖:
        'mybatis-spring-boot-starter': "::${versions.mybatisSpringBoot}",
]
project('microboot-database') { // 子模块
    dependencies { // 配置子模块依赖
        compile(libraries.'mysql-connector-java')
        compile(libraries.'druid') // 添加原始依赖
        compile(libraries.'mybatis-spring-boot-starter')
    }
}

2、【microboot-database子模块】在“src/main/resources”目录之中创建“META-INF/mybatis/mybatis.cfg xmI”文件;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- Mybatis环境的属性配置 -->
    <settings>                        <!-- 开启二级缓存 -->
        <setting name="cacheEnabled" value="true"/>
    </settings>
</configuration>

3、【microboot-database子模块】application.yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource # 配置数据源的类型
    driver-class-name: com.mysql.cj.jdbc.Driver # MySQL8之后的驱动
    url: jdbc:mysql://localhost:3306/yootk # 数据库的JDBC连接地址
    username: root # 用户名
    password: mysqladmin # 密码
    druid: # 定义数据库连接池所需要的相关配置项
      initial-size: 5 # 初始化连接池大小
      min-idle: 10 # 最小维持的连接池大小
      max-active: 50 # 最大可提供的连接数量
      max-wait: 60000 # 最长等待时间
      time-between-eviction-runs-millis: 6000 # 关闭空闲连接间隔(毫秒)
      min-evictable-idle-time-millis: 30000 # 连接最小的生存时间
      validation-query: SELECT 1 FROM dual # 数据库的状态检测
      test-while-idle: true # 判断连接是否可用
      test-on-borrow: false # 在获得连接之前是否要进行测试
      test-on-return: false # 归还连接前是否需要进行测试
      pool-prepared-statements: false # 不缓存PSTMT
      max-pool-prepared-statement-per-connection-size: 20 # 配置PSTMT缓存个数
      
mybatis:
  config-location: classpath:META-INF/mybatis/mybatis.cfg.xml # mybatis配置文件所在路径
  type-aliases-package: com.yootk.vo  # 定义所有操作类的别名所在包
  mapper-locations: classpath:META-INF/mybatis/mapper/**/*.xml # 所有的mapper映射文件

4、【microboot-database子模块】创建IMemberDAO接口实现member数据表的配置

package com.yootk.dao;

import com.yootk.vo.Member;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface IMemberDAO { // 定义DAO接口
    public List<Member> findAll(); // 查询全部
}

5、 【microboot-database子模块】随后创建一个与IMemberDAO接口关联的映射配置文件,该文件的路径:src/main/resources/META-INE/mybatis/mapper/MemberMapper.xml,编辑 MemberMapper.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.yootk.dao.IMemberDAO">
    <select id="findAll" resultType="Member">
        SELECT mid, name, age, salary, birthday, content FROM member;
    </select>
</mapper>

6、 【microboot-database子模块】IMemberService

package com.yootk.service;

import com.yootk.vo.Member;

import java.util.List;

public interface IMemberService {
    public List<Member> list();
}

7、 【microboot-database子模块】MemberServiceImpl

package com.yootk.service.impl.impl;

import com.yootk.dao.IMemberDAO;
import com.yootk.service.IMemberService;
import com.yootk.vo.Member;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class MemberServiceImpl implements IMemberService {
    @Autowired
    private IMemberDAO memberDAO;

    @Override
    public List<Member> list() {
        return this.memberDAO.findAll();
    }
}

8、 【microboot-database子模块】按照Mybatis设计来说,是可以直接进行日志信息打印的,所以修改
logback-spring.xml配置文件,追加日志输出配置项

<logger name="com.yootk.dao" level="DEBUG"/>

9、【microboot-database子模块】编写一个测试类,对当前的业务接口的功能进行测试

package com.yootk.test;

import com.yootk.StartSpringBootDatabaseApplication;
import com.yootk.service.IMemberService;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.test.context.web.WebAppConfiguration;

@ExtendWith(SpringExtension.class) // 使用JUnit5测试工具
@WebAppConfiguration // 启动WEB运行环境
@SpringBootTest(classes = StartSpringBootDatabaseApplication.class) // 配置程序启动类
public class TestMemberService { // 编写测试类
    @Autowired
    private IMemberService memberService;
    @Test
    public void testFindAll() {
        System.out.println(this.memberService.list());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AloneDrifters

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值