完整攻略如下:
- 环境搭建
在项目中引入 MyBatis Generator 库,官方文档地址:http://www.mybatis.org/generator/index.html
- 编写配置文件
在项目中编写 MyBatis Generator 配置文件,文件中需要配置数据源及生成代码的相关实体类信息,示例配置文件如下:
<?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="o2o" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/mydb"
userId="root"
password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<javaClientGenerator targetPackage="com.example.mapper" targetProject="src/main/java" type="XMLMAPPER">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<table tableName="user">
<generatedKey column="id" sqlStatement="JDBC"/>
</table>
<table tableName="shop">
<generatedKey column="shop_id" sqlStatement="JDBC"/>
</table>
</context>
</generatorConfiguration>
其中,targetRuntime
属性的值为 MyBatis3
,表示使用MyBatis 3框架;jdbcConnection
标签是配置数据源;javaModelGenerator
标签是配置生成实体类的相关信息;sqlMapGenerator
标签是配置生成 MyBatis Mapper 的相关信息;javaClientGenerator
标签是配置生成 Mapper 接口的相关信息;table
标签是配置需要生成代码的表信息,可以配置多个表。
- 自动生成注解
在当前项目根目录下打开终端,执行 Maven 命令
mvn mybatis-generator:generate
即可自动生成实体类和 Mapper 接口代码。
代码示例:
生成实体类:
@Table(name = "user")
public class User {
@Id
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
// ...
}
生成 Mapper 接口:
public interface UserMapper extends Mapper<User> {
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mybatis自动生成@Table、@Column、@Id注解的方法 - Python技术站