利用MyBatis-Generator自动生成实体类、Dao层和Mapper.xml的两种方法总结
2、自动生成代码的两种方式2.1 利用Maven插件在pom.xml中加入插件2、自动生成代码的两种方式2.1 利用Maven插件在pom.xml中加入插件MyBatis-Generator的官网地址1、在项目的src/main/resources新建MyBatis-Generator的配置文件,如命名为mybatis-generator.xml,其内容如下:...
·
1、在项目的src/main/resources新建MyBatis-Generator的配置文件,如命名为mybatis-generator.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>
<!--targetRuntime="MyBatis3Simple":生成简单版的CRUD;MyBatis3:豪华版 -->
<context id="MyBatisGenerator" targetRuntime="MyBatis3">
<!-- 生成的实体Bean,将实现Serializable -->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
<commentGenerator>
<!-- 是否去除自动生成的注释 true:是 ; false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- jdbcConnection:连接数据库 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/spring" userId="root"
password="root">
</jdbcConnection>
<!-- 默认false,把JDBC DECIMAL和 NUMERIC 类型解析为 Integer true,
把JDBC DECIMAL和 NUMERIC类型解析为java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成model模型所对应的包路径,以及文件存放路径(targetProject);
targetProject可以指定具体的路径,如./src/main/java,也可以使用“MAVEN”来自动生成,
这样生成的代码会在target/generatord-source目录下 -->
<javaModelGenerator targetPackage="com.security.model"
targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
<!--从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!--对应的mapper.xml文件 -->
<sqlMapGenerator targetPackage="com.security.dao"
targetProject="./src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 对应的Mapper接口类文件-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.security.dao" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 数据表与Bean的映射 -->
<table tableName="user" domainObjectName="User" />
<table tableName="department" domainObjectName="Department" />
</context>
</generatorConfiguration>
2、自动生成代码的两种方式
2.1 利用Maven插件
- 在pom.xml中加入插件
<build>
<plugins>
<!-- 设置插件的依赖参数时请注意:
1、所有引用的外部插件(比如分页插件)或者jar包,必须指定依赖
2、dependencies下每个依赖的jar必须指定version
3、如果generatorConfig.xml没有放在resources下,请指定generatorConfig.xml配置文件的路径 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<!-- 设置配置文件地址,默认地址为src/main/resources/generatorConfig.xml -->
<configurationFile>src/main/resources/mybatis-generator.xml</configurationFile>
<verbose>true</verbose>
<overwrite>true</overwrite>
</configuration>
<dependencies>
<!-- mybatis-generator -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<!-- mysql数据库连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
将鼠标放在项目工程上,点击右键,Run As –》Maven Build…,在Goals框内输入:mybatis-generator:generate
2.2 利用Java代码
- 在pom.xml中加入项目依赖
<dependencies>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!-- mybatis-generator -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<!-- mysql数据库连接 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
</dependencies>
在测试文件中输入如下代码:
public class MyBatisGeneratorTest {
@Test
public void test() throws IOException, XMLParserException, InvalidConfigurationException, SQLException, InterruptedException {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
File configFile =new File(this.getClass().getResource("/mybatis-generator.xml").getFile());
ConfigurationParser cp = new ConfigurationParser(warnings);
Configuration config = cp.parseConfiguration(configFile);
DefaultShellCallback callback = new DefaultShellCallback(overwrite);
MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
myBatisGenerator.generate(null);
}
}
更多推荐
已为社区贡献6条内容
所有评论(0)