一、使用逆向工程生成mapper
1、创建Maven工程
2、引入相关的依赖
pom文件如下
<?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> <groupId>com.huawei</groupId> <artifactId>mybatis.generate.mysql</artifactId> <version>1.0-SNAPSHOT</version> <!--mybatis逆向工程maven工具--> <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.3</version> <configuration> <configurationFile>src/main/resources/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> <executions> <execution> <id>GenerateMyBatisArtifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> <scope>runtime</scope> </dependency> </dependencies> </plugin> </plugins> </build> </project>
3.在Java文件下创建相关的包
上面我们指定了
cn.blog.mapper、
cn.immoc.dataobject
cn.blog.service.impl
cn.immoc.mapper
4、执行
(1)
(2)生成后再target下面文件夹
2、在resource文件下创建文件generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <context id="test" targetRuntime="MyBatis3"> <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"></plugin> <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin> <plugin type="org.mybatis.generator.plugins.ToStringPlugin"></plugin> <commentGenerator> <!--这个元素用来去除指定生成的注释中是否包含生成的日期false:表示保护--> <!--如果生成日期,会造成即使修改一个字段,整个实体类所有属性都会发生变化,不利于版本控制,所以设置为true--> <property name="suppressDate" value="true"/> <!--是否去除自动生成的注释true:是:false:否--> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--数据库链接URL,用户名、密码--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://111.230.180.89:3306/pinyougoudb" userId="root" password="xu0719wd"> </jdbcConnection> <javaTypeResolver> <!--ThispropertyisusedtospecifywhetherMyBatisGeneratorshould forcetheuseofjava.math.BigDecimalforDECIMALandNUMERICfields,--> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!--生成模型的包名和位置--> <javaModelGenerator targetPackage="cn.immoc.dataobject" targetProject="target"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!--生成映射文件的包名和位置--> <sqlMapGenerator targetPackage="cn.immoc.mapper" targetProject="target"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!--生成DAO的包名和位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="cn.blog.mapper" implementationPackage="cn.blog.service.impl" targetProject="target"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!--要生成哪些表--> <table tableName="`tb_address`"></table> </context> </generatorConfiguration>
二、逆向工程生成的mapper在springboot下的使用
1、测试环境jdk1.8;IDEA;mysql5.7
2、创建工程
2.1引入相关的依赖并配置mapper的路径
<?xmlversion="1.0"encoding="UTF-8"?>
<projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>sell-weixin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<modules>
<module>../ganerate-code</module>
</modules>
<packaging>pom</packaging>
<name>sell-weixin</name>
<description>DemoprojectforSpringBoot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/><!--lookupparentfromrepository-->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--google相关json依赖-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<!--热部署使用jar包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<version>2.0.1.RELEASE</version>
<optional>true</optional>
<!--optional=true,依赖不会传递,该项目依赖devtools;之后依赖该项目的项目如果想要使用devtools,需要重新引入-->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<!--包含mapperxml文件-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.2配置application.yml
spring:
datasource:
driver-class-name:com.mysql.jdbc.Driver
username:root
password:123456
url:jdbc:mysql://192.168.25.143:3306/sell?characterEncoding=utf8&useSSL=true
jpa:
show-sql:true
#ldatabase-platform:org.hibernate.dialect.MySQL5Dialect
#加载mybatis配置文件mybatis:
#mybatis:
#mapper-locations:classpath*:com.immoc.mapper/*Mapper.xml
#type-aliases-package:cn.itcast.domain
#数据源
3、将逆向工程生成的mapper和pojo复制到相关工程下
=====》注意包名是否相关,不同则则修改mapper.xml文件下包名相关路径,否则会报错
4、测试
packagecom.immoc.mapper;
importcom.immoc.dataobject.ProductInfo;
importlombok.extern.slf4j.Slf4j;
importorg.junit.Assert;
importorg.junit.Test;
importorg.junit.runner.RunWith;
importorg.springframework.beans.factory.annotation.Autowired;
importorg.springframework.boot.test.context.SpringBootTest;
importorg.springframework.test.context.junit4.SpringRunner;
@Slf4j
@SpringBootTest
@RunWith(SpringRunner.class)
publicclassProductInfoMapperTest{
@Autowired
ProductInfoMapperinfoMapper;
@Test
publicvoidfindByProductId(){
StringproductId="1525103526600833270";
ProductInfoinfo=infoMapper.selectByPrimaryKey(productId);
System.out.println(1);
System.out.println(info);
Assert.assertNotNull(info);
}
}