以上为项目架构
集成mybatis generator
idea集成mybatis generator生成mybatis代码
第一步:需要添加自动生成代码插件
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
</dependencies>
</plugin>
第二步:编写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="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 如果表名或者字段名是mysql的关键字,比如table,from等,这时可以加上反引号,比如select `date` from `from`-->
<property name="autoDelimitKeywords" value="true"/>
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--覆盖生成XML文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<!-- 生成的实体类添加toString()方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<!-- 不生成注释 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!-- 连接数据库-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/course"
userId="root"
password="112358">
</jdbcConnection>
<!-- domain类的位置 -->
<javaModelGenerator targetProject="src\main\java"
targetPackage="com.server.domain"/>
<!-- mapper xml的位置 -->
<sqlMapGenerator targetProject="src\main\resources"
targetPackage="mapper"/>
<!-- mapper类的位置 -->
<javaClientGenerator targetProject="src\main\java"
targetPackage="com.server.mapper"
type="XMLMAPPER" />
<table tableName="test" domainObjectName="Test"/>
</context>
</generatorConfiguration>
第三步:创建maven启动命令mybatis-generator:generate -e
第四步:点击后生成文件
解决mapper.xml重复生成代码问题
generatorConfig.xml中添加以下配置
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
如没有该段代码,则不覆盖原mapper.xml,采用追加形式。
example使用示例
@Service
public class TestServiceImpl implements TestService {
@Resource
private TestMapper testMapper;
@Override
public List<Test> list() {
TestExample testExample = new TestExample();
testExample.setOrderByClause("id desc"); // id的顺序排序
return testMapper.selectByExample(testExample); //查询条件
}
}