一、在pom.xml文件中添加要用到的包,代码如下:
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
<version>3.2.0version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
自动生成Entity+Dao+Mapper的插件
<plugin>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
<version>1.4.0version>
plugin>
二、数据库配置信息
D:\github\interface-test\interfacetest\src\test\resources\application.yml
spring:
datasource:
url: jdbc:mysql://rm-2vcgyh64om3x3bd2beo.mysql.cn-chengdu.rds.aliyuncs.com:3306/pre_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=true
username: pre_hxgy
password: XHZYJuiRyJqWO*4v
driver-class-name: com.mysql.cj.jdbc.Driver
application:
name: studb
server:
port: 8080
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.studb.entity
三、自动生成mapper,dao,entity的文件
xml version="1.0" encoding="UTF-8"?> 四、测试 数据库对应的表结构: CREATE TABLE `auto_test_date` ( 启动类添加MapperScan注解。指定mapper扫描路径。指定后就不要在mapper层写@Mapper注解了 @MapperScan("com.automation.interfacetest.dao") package com.automation.interfacetest; 编写或者用插件自动生成mapper,entity,mapper.xml BaseMapper 接口中封装了一系列 CRUD 常用操作,可以直接使用,操作实体类的mapper代码如下,AutoTestDateMapper.java package com.automation.interfacetest.dao; 实体类代码如下,AutoTestDateEntity.java package com.automation.interfacetest.entity; AutoTestDateMapper.xml xml version="1.0" encoding="UTF-8"?> AbstractTestNGSpringContextTests:测试类只有继承了该类才能拥有注入实例能力,否则注入报错 package com.automation.interfacetest; 附上完整的pom.xml: xml version="1.0" encoding="UTF-8"?> 参考文章: https://blog.csdn.net/q736317048/article/details/110284582 https://www.jianshu.com/p/28d6d9a56b62 原文链接:https://www.cnblogs.com/li-cw/p/15791467.html
DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<classPathEntry location="D:\maven\.m2\repository\mysql\mysql-connector-java\8.0.25\mysql-connector-java-8.0.25.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
commentGenerator>
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://rm-2vcgyh64om3x3bd2beo.mysql.cn-chengdu.rds.aliyuncs.com:3306/pre_test?serverTimezOne=UTC&useSSL=false"
userId="pre_hxgy"
password="XHZYJuiRyJqWO*4v">
jdbcConnection>
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
javaTypeResolver>
<javaModelGenerator targetPackage="com.automation.interfacetest.entity" targetProject="\github\interface-test\interfacetest\src\main\java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
javaModelGenerator>
<sqlMapGenerator targetPackage="mapper" targetProject="\github\interface-test\interfacetest\src\test\resources">
<property name="enableSubPackages" value="true" />
sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.automation.interfacetest.dao" targetProject="\github\interface-test\interfacetest\src\main\java">
<property name="enableSubPackages" value="true" />
javaClientGenerator>
<table tableName="auto_test_date" domainObjectName="AutoTestDate"
enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false"
enableSelectByExample="false"
selectByExampleQueryId="false" />
context>
generatorConfiguration>
`id` bigint(20) NOT NULL,
`loginPhone` varchar(20) DEFAULT NULL,
`name` varchar(32) DEFAULT NULL,
`idCard` varchar(32) DEFAULT NULL,
`addTime` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.automation.interfacetest.dao")
public class InterfacetestApplication {
public static void main(String[] args) {
SpringApplication.run(InterfacetestApplication.class, args);
}
}
import com.automation.interfacetest.entity.AutoTestDateEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface AutoTestDateMapper extends BaseMapper{
AutoTestDateEntity queryAutuoTestDate(@Param("name") String name);
}
import java.util.Date;
public class AutoTestDateEntity {
private Long id;
private String loginphone;
private String name;
private String idcard;
private Date addtime;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getLoginphone() {
return loginphone;
}
public void setLoginphone(String loginphone) {
this.loginphOne= loginphOne== null ? null : loginphone.trim();
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public String getIdcard() {
return idcard;
}
public void setIdcard(String idcard) {
this.idcard = idcard == null ? null : idcard.trim();
}
public Date getAddtime() {
return addtime;
}
public void setAddtime(Date addtime) {
this.addtime = addtime;
}
}
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.automation.interfacetest.dao.AutoTestDateMapper">
<resultMap id="BaseResultMap" type="com.automation.interfacetest.entity.AutoTestDateEntity">
<result column="id" jdbcType="BIGINT" property="id" />
<result column="loginPhone" jdbcType="VARCHAR" property="loginphone" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="idCard" jdbcType="VARCHAR" property="idcard" />
<result column="addTime" jdbcType="TIMESTAMP" property="addtime" />
resultMap>
<sql id="Base_Column_List">
id, loginPhone, name, idCard, addTime
sql>
<select id="queryAutuoTestDate" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
<include refid="Base_Column_List">include>
FROM pre_test.auto_test_date
WHERE name = #{name} limit 1
select>
mapper>
import com.automation.interfacetest.dao.AutoTestDateMapper;
import com.automation.interfacetest.entity.AutoTestDateEntity;
import com.automation.interfacetest.service.LoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
import org.testng.annotations.Test;
/**
* @title:
* @author: 2022/1/1216:45
* @date: 2022/1/1216:45
*/
@SpringBootTest(classes = InterfacetestApplication.class)
public class TestMysql extends AbstractTestNGSpringContextTests {
@Autowired
AutoTestDateMapper autoTestDateMapper;
@Test
public void test000(){
AutoTestDateEntity sql =autoTestDateMapper.queryAutuoTestDate("张三");
System.out.println("day:" + sql.getName());
}
}
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.5.2version>
<relativePath/>
parent>
<groupId>com.automationgroupId>
<artifactId>interfacetestartifactId>
<version>0.0.1-SNAPSHOTversion>
<name>interfacetestname>
<description>Demo project for Spring Bootdescription>
<properties>
<java.version>1.8java.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.testnggroupId>
<artifactId>testngartifactId>
<version>6.10version>
dependency>
<dependency>
<groupId>com.relevantcodesgroupId>
<artifactId>extentreportsartifactId>
<version>2.41.1version>
dependency>
<dependency>
<groupId>com.vimalselvamgroupId>
<artifactId>testng-extentsreportartifactId>
<version>1.3.1version>
dependency>
<dependency>
<groupId>com.aventstackgroupId>
<artifactId>extentreportsartifactId>
<version>3.0.6version>
dependency>
<dependency>
<groupId>com.alibabagroupId>
<artifactId>fastjsonartifactId>
<version>1.2.32version>
dependency>
<dependency>
<groupId>org.apache.poigroupId>
<artifactId>poiartifactId>
<version>4.1.0version>
dependency>
<dependency>
<groupId>org.apache.poigroupId>
<artifactId>poi-ooxmlartifactId>
<version>4.1.0version>
dependency>
<dependency>
<groupId>com.baomidougroupId>
<artifactId>mybatis-plus-boot-starterartifactId>
<version>3.2.0version>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
<dependency>
<groupId>org.projectlombokgroupId>
<artifactId>lombokartifactId>
<optional>trueoptional>
dependency>
dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
<plugin>
<groupId>org.mybatis.generatorgroupId>
<artifactId>mybatis-generator-maven-pluginartifactId>
<version>1.4.0version>
plugin>
plugins>
build>
project>