Mybatis是一个优秀的ORM框架,除了提供了常见的ORM操作外,还可以通过它的Generator来实现数据库表结构的自动生成。
步骤一:配置GeneratorConfig.xml文件
在项目的Java包下创建config文件夹,并在其中新建一个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="sqlServerTables" targetRuntime="MyBatis3">
<!-- 配置数据库连接参数 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"
userId="root"
password="password"/>
<!-- 配置生成的实体类的包名和存放位置 -->
<javaModelGenerator targetPackage="com.example.entity" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 配置生成对应表的Mapper接口和对应XML文件的包名和存放位置 -->
<sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 配置生成对应表的Dao接口和对应实现类的包名和存放位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 配置要生成的表信息 -->
<table tableName="user"></table>
<table tableName="role"></table>
</context>
</generatorConfiguration>
步骤二:编写自动生成代码的maven插件
在项目的pom.xml文件中添加以下插件配置,以便在maven编译打包时能够自动生成对应的代码文件。
<build>
<plugins>
<!-- 配置Mybatis Generator插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.4.0</version>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
<configuration>
<verbose>true</verbose>
<overwrite>true</overwrite>
<configurationFile>src/main/resources/config/GeneratorConfig.xml</configurationFile>
</configuration>
</plugin>
</plugins>
</build>
步骤三:通过Mybatis Generator插件生成代码
在完成上述配置后,运行maven命令即可生成实体类和对应的XML以及Dao接口和实现类。
mvn mybatis-generator:generate
使用示例一:
以上是通过Maven插件运行的方式,还可以直接在IDE中打开Generator、右键运行即可。不过也并不建议这种方式。
使用示例二:
如果已经使用了Spring Boot,可以参考官方文档MyBatis With Spring Boot来进行配置。
这里只列出主要的配置,详情可以通过官方文档查询。
# application.yml
mybatis:
mapper-locations: classpath*:mapper/*.xml # 定义mapper.xml文件的路径
configuration:
map-underscore-to-camel-case: true
cache-enabled: true # 是否开启缓存
lazy-loading-enabled: true # 是否启用延迟加载
type-aliases-package: com.example.entity # 实体类的包名
// MapperScan 注解表示扫描 Dao 接口所在的包路径
@MapperScan("com.example.dao")
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
至此,Mybatis如何自动生成数据库表结构的总结已经给出。需要注意的是,自动生成的代码只是一份基础代码,不一定能够适应所有的应用场景,需要开发人员进行适当的修改。
以上内容不一定全面详细,如果有疑问可以参考Mybatis Generator官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis如何自动生成数据库表结构总结 - Python技术站