中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

東莞h5網(wǎng)站建設(shè)宣傳推廣策略

東莞h5網(wǎng)站建設(shè),宣傳推廣策略,福建省建設(shè)執(zhí)業(yè)資格中心網(wǎng)站,wordpress設(shè)置會(huì)員查看更多SpingBoot:整合Mybatis-plusDruid 一、特別說(shuō)明二、創(chuàng)建springboot新工程三、配置3.1 配置pom.xml文件3.2 配置數(shù)據(jù)源和durid連接池3.2.1 修改application.yml3.2.2 新增mybatis-config.xml 3.3 編寫(xiě)攔截器配置類 四、自動(dòng)生成代碼五、測(cè)試六、編寫(xiě)mapper.xml&#…


SpingBoot:整合Mybatis-plus+Druid

  • 一、特別說(shuō)明
  • 二、創(chuàng)建springboot新工程
  • 三、配置
    • 3.1 配置pom.xml文件
    • 3.2 配置數(shù)據(jù)源和durid連接池
      • 3.2.1 修改application.yml
      • 3.2.2 新增mybatis-config.xml
    • 3.3 編寫(xiě)攔截器配置類
  • 四、自動(dòng)生成代碼
  • 五、測(cè)試
  • 六、編寫(xiě)mapper.xml,新增業(yè)務(wù)
    • 6.1 新增功能函數(shù)
    • 6.2 測(cè)試新函數(shù)
  • 七、附件-mysql數(shù)據(jù)庫(kù)表

本文參考鏈接:

  1. [Java] Spring Boot 集成 MyBatis Plus + Druid
  2. 從0開(kāi)始springboot后臺(tái)管理項(xiàng)目-mybatis-plus/druid鏈接數(shù)據(jù)庫(kù)多數(shù)據(jù)源
  3. SpingBoot系列教程(一):整合Mybatis-plus+Druid

一、特別說(shuō)明

??MyBatis-PLus的3.0+版本對(duì)于LocalDateTime的支持有些差異,對(duì)于Druid的版本也有些要求。pom.xml文件里面的倆者的版本是我自己試驗(yàn)過(guò)的,可以正常使用,如果自己更換版本,出現(xiàn)LocalDateTime問(wèn)題,請(qǐng)注意版本問(wèn)題。
??代碼生成工具使用的是mybatis-plus-generator,但沒(méi)有完全按照官方文檔來(lái)搞,本著能用就行的目的,一些地方與官方有點(diǎn)出入,生成代碼之后,還需微調(diào)一下,請(qǐng)注意。
??數(shù)據(jù)庫(kù)文件MySql,末尾我會(huì)提供,當(dāng)然您也可以使用自己的數(shù)據(jù)庫(kù)。

回到目錄

二、創(chuàng)建springboot新工程

使用IDEA創(chuàng)建springboot工程過(guò)程如下:

  1. file->new -> project -> spring Initializr ->next
    1
  2. 輸入項(xiàng)目名及包結(jié)構(gòu):
    2
  3. 一路選擇next,然后點(diǎn)擊finish完成創(chuàng)建。

回到目錄

三、配置

3.1 配置pom.xml文件

根據(jù)自身的springBoot版本和durid、mysql、mybatisplus版本配置,我的配置示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!--    導(dǎo)入springboot版本和框架依賴     --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.12</version><relativePath></relativePath></parent><groupId>com.juxin</groupId><artifactId>durid-mybatisplus-demo</artifactId><version>0.0.1-SNAPSHOT</version><name>durid-mybatisplus-demo</name><description>durid與mybatisplus整合實(shí)戰(zhàn)</description><properties><java.version>1.8</java.version><mybatis-plus.version>3.4.3.1</mybatis-plus.version><druid.version>1.1.21</druid.version><freemarker.version>2.3.29</freemarker.version><!-- 跳過(guò)測(cè)試 --><skipTests>true</skipTests></properties><dependencies><!-- MySql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--  Druid連接池SpringBoot整合druid-spring-boot-starter省去配置文件或者@Configuration來(lái)配置,直接將配置寫(xiě)在 application.ymlhttp://localhost:8081/xxx/druid/index.html--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>${druid.version}</version></dependency><!-- mybatis-plus 組件 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><!-- mybatis plus 代碼生成器依賴 --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.2</version></dependency><!-- mybatis plus 代碼生成器模板,MyBatis-Plus 支持 Velocity(默認(rèn))、Freemarker --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency><!--Spring Aop--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId></dependency><!-- Swagger是一個(gè)有用web界面的提供實(shí)體模型結(jié)構(gòu)展示,接口展示,調(diào)測(cè)等的一個(gè)工具--><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version></dependency><!-- lombok 省略get/set方法--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
<!--			<version>RELEASE</version>--><scope>compile</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.3.18</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins><!--資源文件引用--><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.yml</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build></project>

回到目錄

3.2 配置數(shù)據(jù)源和durid連接池

1

3.2.1 修改application.yml

修改application.yml文件,示例如下:

#mybatis-plus配置
mybatis-plus:configuration:#控制臺(tái)打印sqllog-impl: org.apache.ibatis.logging.stdout.StdOutImplcall-setters-on-nulls: true# 這里根據(jù)自己項(xiàng)目的包修改,掃描到自己的*xml文件mapper-locations: classpath:com/juxin/duridmybatisplusdemo/mapper/*.xml
spring:#數(shù)據(jù)源配置datasource:url: jdbc:mysql://10.20.1.51:3306/rmltest?characterEncoding=utf-8username: rootpassword: mysql2023driver-class-name: com.mysql.jdbc.Driver# 數(shù)據(jù)庫(kù)訪問(wèn)配置, 使用druid數(shù)據(jù)源(默認(rèn)數(shù)據(jù)源是HikariDataSource)type: com.alibaba.druid.pool.DruidDataSource# 鏈接池配置druid:# 連接池配置:大小,最小,最大initial-size: 5min-idle: 5max-active: 20# 連接等待超時(shí)時(shí)間max-wait: 30000# 配置檢測(cè)可以關(guān)閉的空閑連接,間隔時(shí)間time-between-eviction-runs-millis: 60000# 配置連接在池中的最小生存時(shí)間min-evictable-idle-time-millis: 300000# 檢測(cè)連接是否有,有效得select語(yǔ)句validation-query: select '1' from dual# 申請(qǐng)連接的時(shí)候檢測(cè),如果空閑時(shí)間大于time-between-eviction-runs-millis,執(zhí)行validationQuery檢測(cè)連接是否有效,建議配置為true,不影響性能,并且保證安全性。test-while-idle: true# 申請(qǐng)連接時(shí)執(zhí)行validationQuery檢測(cè)連接是否有效,建議設(shè)置為false,不然會(huì)會(huì)降低性能test-on-borrow: false# 歸還連接時(shí)執(zhí)行validationQuery檢測(cè)連接是否有效,建議設(shè)置為false,不然會(huì)會(huì)降低性能test-on-return: false# 是否緩存preparedStatement,也就是PSCache  官方建議MySQL下建議關(guān)閉   個(gè)人建議如果想用SQL防火墻 建議打開(kāi)# 打開(kāi)PSCache,并且指定每個(gè)連接上PSCache的大小pool-prepared-statements: truemax-open-prepared-statements: 20max-pool-prepared-statement-per-connection-size: 20# 配置監(jiān)控統(tǒng)計(jì)攔截的filters, 去掉后監(jiān)控界面sql無(wú)法統(tǒng)計(jì), 'wall'用于防火墻防御sql注入,stat監(jiān)控統(tǒng)計(jì),logback日志filters: stat,wall# Spring監(jiān)控AOP切入點(diǎn),如x.y.z.service.*,配置多個(gè)英文逗號(hào)分隔#aop-patterns: com.springboot.servie.*# lowSqlMillis用來(lái)配置SQL慢的標(biāo)準(zhǔn),執(zhí)行時(shí)間超過(guò)slowSqlMillis的就是慢connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000# WebStatFilter監(jiān)控配置web-stat-filter:enabled: true# 添加過(guò)濾規(guī)則:那些訪問(wèn)攔截統(tǒng)計(jì)url-pattern: /*# 忽略過(guò)濾的格式:哪些不攔截,不統(tǒng)計(jì)exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'# StatViewServlet配置(Druid監(jiān)控后臺(tái)的Servlet映射配置,因?yàn)镾pringBoot項(xiàng)目沒(méi)有web.xml所在在這里使用配置文件設(shè)置)stat-view-servlet:enabled: true# 配置Servlet的訪問(wèn)路徑:訪問(wèn)路徑為/druid/**時(shí),跳轉(zhuǎn)到StatViewServlet,會(huì)自動(dòng)轉(zhuǎn)到Druid監(jiān)控后臺(tái)url-pattern: /druid/*# 是否能夠重置數(shù)據(jù)reset-enable: false# 設(shè)置監(jiān)控后臺(tái)的訪問(wèn)賬戶及密碼login-username: adminlogin-password: 123456# IP白名單:允許哪些主機(jī)訪問(wèn),默認(rèn)為“”任何主機(jī)# allow: 127.0.0.1# IP黑名單:禁止IP訪問(wèn),(共同存在時(shí),deny優(yōu)先于allow)# deny: 192.168.1.218# 配置StatFilterfilter:stat:log-slow-sql: true

回到目錄

3.2.2 新增mybatis-config.xml

??用來(lái)指定映射文件或者映射類:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 映射器:指定映射文件或者映射類 --><mappers><mapper resource="com/juxin/duridmybatisplusdemo/mapper/ClassInfoMapper.xml" /><mapper resource="com/juxin/duridmybatisplusdemo/mapper/StuMapper.xml" /><mapper resource="com/juxin/duridmybatisplusdemo/mapper/TopMapper.xml" /></mappers>
</configuration>

回到目錄

3.3 編寫(xiě)攔截器配置類

定義配置文件類,用于新建攔截器:
1
配置類內(nèi)容如下:

package com.juxin.duridmybatisplusdemo.mybatisplus;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/***  MybatisPlusInterceptor是一系列的實(shí)現(xiàn)InnerInterceptor的攔截器鏈,也可以理解為一個(gè)集合。*  可以包括如下的一些攔截器:* (1)自動(dòng)分頁(yè): PaginationInnerInterceptor(最常用)* (2)多租戶: TenantLineInnerInterceptor* (3)動(dòng)態(tài)表名: DynamicTableNameInnerInterceptor* (4)樂(lè)觀鎖: OptimisticLockerInnerInterceptor* (5)sql性能規(guī)范: IllegalSQLInnerInterceptor* (6)防止全表更新與刪除: BlockAttackInnerInterceptor*/
@Configuration
@EnableTransactionManagement
@MapperScan("com.juxin.duridmybatisplusdemo.dao")
class MybatisPlusConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//向Mybatis過(guò)濾器中添加分頁(yè)攔截器interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));// 樂(lè)觀鎖interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());return interceptor;}
}

回到目錄

四、自動(dòng)生成代碼

創(chuàng)建代碼生成類,MyBatis-Plus 支持以 Velocity(默認(rèn))、Freemarker模式自動(dòng)生成代碼,具體如下:
利用mybatis plus代碼生成器模板,根據(jù)mysql表名等信息自動(dòng)生成代碼,包括:

  • 1、表對(duì)應(yīng)的對(duì)象實(shí)體類,存在entity目錄下
  • 2、mapper接口文件及xml文件,存在mapper目錄下
  • 3、service接口及實(shí)現(xiàn)類,存在service目錄下
  • 4、controller類,存在的目錄可以自定義
    代碼自動(dòng)生成類的代碼如下:
package com.juxin.duridmybatisplusdemo.mybatisplus;import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.fill.Column;
import org.springframework.util.ClassUtils;
import org.springframework.util.ResourceUtils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.*;
/*** 利用mybatis plus代碼生成器模板,根據(jù)mysql表名等信息自動(dòng)生成代碼,
*/
public class MybatisPlusGenerator {/// 獲取項(xiàng)目路徑public static void getPath() {List<String> paths = new ArrayList<>();try {//第四種String path = ResourceUtils.getURL("classpath:").getPath();paths.add("ResourceUtils: " + path);} catch (FileNotFoundException e) {e.printStackTrace();}try {//第一種File path = new File(ResourceUtils.getURL("classpath:").getPath());if (!path.exists()) {path = new File("");}paths.add("File(ResourceUtils): " + path.getAbsolutePath());paths.add("File(ResourceUtils): " + path.getPath());} catch (FileNotFoundException e) {e.printStackTrace();}//第二種String userDir = System.getProperty("user.dir");paths.add("user.dir: " + userDir);try {//第三種URL classLoaderResource = ClassUtils.getDefaultClassLoader().getResource("");paths.add("ClassLoader: " + classLoaderResource.getPath());paths.add("ClassLoader: " + URLDecoder.decode(classLoaderResource.getPath(), "utf-8"));} catch (UnsupportedEncodingException e) {e.printStackTrace();}//        //第五種  spring boot打jar包,建議使用第五種
//        ApplicationHome applicationHome = new ApplicationHome(getClass());
//        File jarFile = applicationHome.getSource();
//        paths.add("ApplicationHome: " + jarFile.getPath());
//        paths.add("ApplicationHome: " + jarFile.getAbsolutePath());
//        paths.add("ApplicationHome: " + jarFile.getParent());//第六種  spring boot打jar包或者不打包,都可以使用的,建議區(qū)分系統(tǒng)以完善路徑 本種也建議使用Properties properties = System.getProperties();paths.add("Properties(os.name): " + properties.getProperty("os.name"));paths.add("Properties(user.dir): " + properties.getProperty("user.dir"));for (String str : paths) {System.out.println(str);}}/// 生成代碼public static void main(String[] args) {getPath();//mysql配置信息String dbUrl = "jdbc:mysql://10.20.1.51:3306/rmltest?useUnicode=true&useSSL=false&characterEncoding=utf-8&serverTimezone=UTC";// String driverName = "com.mysql.cj.jdbc.Driver"; // ("com.mysql.jdbc.Driver");String dbUsername = "root";String dbPassword = "mysql2023";String projectPath = System.getProperty("user.dir");//工程目錄String globalConfigOutputDir = projectPath + "/src/main/java";//包結(jié)構(gòu)String globalConfigAuthor = "rml";//作者名String packageConfigParent = "com.juxin.duridmybatisplusdemo";//自定義的包結(jié)構(gòu)// https://www.mybatis-plus.com/guide/generator-new.htmlDataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig.Builder(dbUrl, dbUsername, dbPassword);FastAutoGenerator fastAutoGenerator = FastAutoGenerator.create(dataSourceConfigBuilder);fastAutoGenerator.globalConfig(builder -> {builder.enableSwagger() // 開(kāi)啟 swagger 模式.author(globalConfigAuthor).outputDir(globalConfigOutputDir);}).packageConfig(builder -> {builder.parent(packageConfigParent).controller("controller");//cotroller文件目錄})// 策略配置.strategyConfig((scanner, builder) -> {builder.addInclude(getTables(scanner.apply("請(qǐng)輸入表名,多個(gè)英文逗號(hào)分隔?所有輸入 all"))).controllerBuilder() // controller 策略配置.enableRestStyle() // 開(kāi)啟生成@ RestController 控制器.enableHyphenStyle() // 開(kāi)啟駝峰轉(zhuǎn)連字符.entityBuilder() // 實(shí)體策略配置.enableLombok() // 開(kāi)啟 lombok 模型.addTableFills(new Column("create_time", FieldFill.INSERT)).build();})// 使用Freemarker引擎模板,默認(rèn)的是Velocity引擎模板//.templateEngine(new FreemarkerTemplateEngine()).execute();}// 處理 all 情況protected static List<String> getTables(String tables) {return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));}
}

執(zhí)行結(jié)果查看:
1
回到目錄

五、測(cè)試

構(gòu)建測(cè)試用例,以classInfoMapper為例進(jìn)行測(cè)試:

  1. 在ClassInfoMapper上加上注解@Repository

@Repository它用于將數(shù)據(jù)訪問(wèn)層 (DAO 層 ) 的類標(biāo)識(shí)為 Spring Bean。具體只需將該注解標(biāo)注在 DAO類上即可。 同時(shí),為了讓 Spring 能夠掃描類路徑中的類并識(shí)別出 @Repository 注解, 需要在 XML 配置文件中啟用Bean 的自動(dòng)掃描功能

1
2. 在SpringBootTest中構(gòu)建測(cè)試函數(shù),如下所示:

package com.juxin.duridmybatisplusdemo;
import com.juxin.duridmybatisplusdemo.entity.ClassInfo;
import com.juxin.duridmybatisplusdemo.mapper.ClassInfoMapper;
import org.junit.jupiter.api.Test;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;@SpringBootTest
class DuridMybatisplusDemoApplicationTests {@Autowiredprivate ClassInfoMapper classInfoMapper;@Testvoid contextLoads() {List<ClassInfo> cs = classInfoMapper.selectList(null);System.out.println("查詢結(jié)束,數(shù)據(jù)條目:"+cs.size());}
}

執(zhí)行結(jié)果如下:
1
回到目錄

六、編寫(xiě)mapper.xml,新增業(yè)務(wù)

6.1 新增功能函數(shù)

??mybatis提供的BaseMapper中包含大量的封裝函數(shù),但是在實(shí)際開(kāi)發(fā)中,經(jīng)常會(huì)需要自定義定制需要的功能函數(shù)。如果你想在Mapper接口中新增一個(gè)函數(shù),需要按照以下步驟進(jìn)行操作:

  1. 創(chuàng)建Mapper接口: 如果你還沒(méi)有創(chuàng)建Mapper接口,你需要首先創(chuàng)建一個(gè)。通常,這個(gè)接口會(huì)位于你的項(xiàng)目的dao包或者mapper包下。這里我放在dao包下了。
    1
  2. 在接口中定義新的函數(shù): 在你的Mapper接口中,定義你新的函數(shù)。這個(gè)函數(shù)的簽名應(yīng)該符合你的需求。
    示例如下:
import java.util.List;
/*** <p> 班級(jí)信息表 Mapper 接口* @author rml* @since 2023-09-20*/
//它用于將數(shù)據(jù)訪問(wèn)層 (DAO 層 ) 的類標(biāo)識(shí)為 Spring Bean。
// 具體只需將該注解標(biāo)注在 DAO類上即可。
// 同時(shí),為了讓 Spring 能夠掃描類路徑中的類并識(shí)別出 @Repository 注解,
// 需要在 XML 配置文件中啟用Bean 的自動(dòng)掃描功能
@Repository //代表持久層
public interface ClassInfoMapper extends BaseMapper<ClassInfo> {/**獲取某年級(jí)的某類的所有班級(jí)*/@Transactionalpublic List<ClassInfo> getClassInfoByName(String classification,String grade);
}
  1. 創(chuàng)建對(duì)應(yīng)的XML映射文件: 在你的資源文件夾下,創(chuàng)建一個(gè)與你的Mapper接口對(duì)應(yīng)的XML映射文件。這個(gè)文件通常會(huì)被命名為MyMapper.xml。在這個(gè)文件中,你需要定義你的SQL語(yǔ)句。
    1
    示例如下:
<?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.juxin.duridmybatisplusdemo.dao.ClassInfoMapper"><select id="getClassInfoByName" resultType="com.juxin.duridmybatisplusdemo.entity.ClassInfo">SELECT * FROM class_info<trim prefix="WHERE" prefixOverrides="AND"><if test="classification != null">AND classification=#{classification}</if><if test="grade != null "> AND grade=#{grade}</if></trim></select>
</mapper>

mapper.xml文件語(yǔ)法參考鏈接:

  1. 在配置文件中注冊(cè)Mapper: 在你的MyBatis配置文件中(通常是mybatis-config.xml),你需要注冊(cè)你的Mapper。這樣,MyBatis就可以知道你的Mapper和對(duì)應(yīng)的XML映射文件。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 映射器:指定映射文件或者映射類 --><mappers><mapper resource="com/juxin/duridmybatisplusdemo/mapper/ClassInfoMapper.xml" /><mapper resource="com/juxin/duridmybatisplusdemo/mapper/StuMapper.xml" /><mapper resource="com/juxin/duridmybatisplusdemo/mapper/TopMapper.xml" /></mappers>
</configuration>

6.2 測(cè)試新函數(shù)

編寫(xiě)測(cè)試用例:
1
代碼如下:

package com.juxin.duridmybatisplusdemo;//import com.juxin.duridmybatisplusdemo.entity.ClassInfo;
//import com.juxin.duridmybatisplusdemo.mapper.ClassInfoMapper;
import com.juxin.duridmybatisplusdemo.entity.ClassInfo;
import com.juxin.duridmybatisplusdemo.dao.ClassInfoMapper;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.annotation.Resource;
import java.util.List;@RunWith(SpringRunner.class)
@EnableTransactionManagement
@SpringBootTest
class DuridMybatisplusDemoApplicationTests {@Resourceprivate ClassInfoMapper classInfoMapper;@Testvoid contextLoads() {List<ClassInfo> cs = classInfoMapper.selectList(null);System.out.println("查詢結(jié)束,數(shù)據(jù)條目:"+cs.size());}@Testvoid testGetClassInfoByName(){try{List<ClassInfo> cs1 = classInfoMapper.getClassInfoByName("普通班","六年級(jí)");System.out.println("普通班-六年級(jí)的班級(jí)有:"+cs1.size());List<ClassInfo> cs2 = classInfoMapper.getClassInfoByName("普通班",null);System.out.println("普通班的班級(jí)有:"+cs2.size());List<ClassInfo> cs3 = classInfoMapper.getClassInfoByName(null,"六年級(jí)");System.out.println("六年級(jí)的班級(jí)有:"+cs3.size());}catch (Exception e){e.printStackTrace();}}
}

運(yùn)行進(jìn)行測(cè)試即可。

回到目錄

七、附件-mysql數(shù)據(jù)庫(kù)表

  • 表結(jié)構(gòu):
-- rmltest.class_info definition
CREATE TABLE `class_info` (`name` varchar(10) NOT NULL COMMENT '班級(jí)名稱',`loc` varchar(100) DEFAULT NULL COMMENT '所在位置',`grade` varchar(100) DEFAULT NULL COMMENT '年級(jí)等級(jí):一年級(jí)、二年級(jí)...',`classification` varchar(100) DEFAULT NULL COMMENT '班級(jí)分類:普通班、實(shí)驗(yàn)班...',`date` datetime NOT NULL,PRIMARY KEY (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='班級(jí)信息表';
  • 數(shù)據(jù):
INSERT INTO rmltest.class_info (name,loc,grade,classification,`date`) VALUES('class1','一樓一號(hào)','六年級(jí)','普通班','2023-09-20 10:00:00'),('class2','一樓二號(hào)','六年級(jí)','實(shí)驗(yàn)班','2023-09-20 10:00:00'),('class3','一樓三號(hào)','六年級(jí)','普通班','2023-09-20 10:00:00'),('class4','二樓一號(hào)','五年級(jí)','普通班','2023-09-20 10:00:00');

回到目錄

http://www.risenshineclean.com/news/47250.html

相關(guān)文章:

  • 泉州企業(yè)免費(fèi)建站雞西seo
  • 手機(jī)怎么做網(wǎng)站賣(mài)東西營(yíng)銷技巧美劇
  • 濟(jì)南免費(fèi)網(wǎng)站建設(shè)優(yōu)化網(wǎng)站管理
  • 響應(yīng)式網(wǎng)站是什么軟件做的app注冊(cè)拉新平臺(tái)
  • 企業(yè)網(wǎng)站建設(shè)哪家便宜游戲推廣渠道
  • 學(xué)院網(wǎng)站建設(shè)服務(wù)宗旨電商平臺(tái)排名
  • 南寧網(wǎng)絡(luò)推廣工作網(wǎng)絡(luò)優(yōu)化seo薪酬
  • 景安網(wǎng)站備案的服務(wù)碼韓國(guó)熱搜榜
  • 聽(tīng)書(shū)網(wǎng)頁(yè)設(shè)計(jì)教程成都seo
  • 動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)技術(shù)哪幾種seo搜索引擎優(yōu)化入門(mén)
  • html網(wǎng)站開(kāi)發(fā)心得體會(huì)查淘寶關(guān)鍵詞排名軟件
  • seo網(wǎng)站制作產(chǎn)品seo標(biāo)題是什么
  • 怎樣做微信小程序seo項(xiàng)目培訓(xùn)
  • 網(wǎng)站建設(shè)價(jià)格明細(xì)表和網(wǎng)站預(yù)算網(wǎng)站推廣常用方法
  • 網(wǎng)站代碼設(shè)計(jì)外貿(mào)網(wǎng)站如何推廣優(yōu)化
  • 網(wǎng)上服務(wù)平臺(tái)社保南昌seo報(bào)價(jià)
  • 提供網(wǎng)站建設(shè)公司哪家好ps培訓(xùn)
  • 網(wǎng)站怎么做seo、贛州網(wǎng)站建設(shè)公司
  • web前端只做網(wǎng)站么接推廣一般多少錢(qián)
  • 中組部 兩學(xué)一做 網(wǎng)站品牌策劃方案ppt
  • 低價(jià)服裝網(wǎng)站建設(shè)百度認(rèn)證官網(wǎng)申請(qǐng)
  • 可以看小視頻的瀏覽器南寧百度快速優(yōu)化
  • 網(wǎng)站前臺(tái)設(shè)計(jì)工具搜索引擎優(yōu)化的目標(biāo)
  • 速貝網(wǎng)站友情鏈接怎么做網(wǎng)站優(yōu)化排名怎么做
  • 建站平臺(tái)入口關(guān)鍵詞排名優(yōu)化怎么樣
  • 武昌做網(wǎng)站哪家專業(yè)競(jìng)價(jià)賬戶托管公司哪家好
  • 江油移動(dòng)網(wǎng)站建設(shè)推廣平臺(tái)
  • 上海房產(chǎn)做哪個(gè)網(wǎng)站好上海關(guān)鍵詞優(yōu)化推薦
  • 北京網(wǎng)站制作公司清遠(yuǎn)新聞?lì)^條新聞
  • 四川監(jiān)獄網(wǎng)站建設(shè)發(fā)布外鏈