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 # 不緩存PSTMTmax-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 {@Autowiredprivate IMemberDAO memberDAO;@Overridepublic List<Member> list() {return this.memberDAO.findAll();} }8、 【microboot-database子模塊】按照Mybatis設計來說,是可以直接進行日志信息打印的,所以修改
logback-spring.xml配置文件,追加日志輸出配置項
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 { // 編寫測試類@Autowiredprivate IMemberService memberService;@Testpublic void testFindAll() {System.out.println(this.memberService.list());} }總結
- 上一篇: 剑网三需要的笔记本电脑配置?
- 下一篇: 小白如何使用pe电脑如何pe启动