MyBatis逆向工程,简单说,就是通过数据库表来自动生成映射文件、DAO接口和实体类。而不需要手动去写。
使用方法:
- 创建GeneratorConfig.xml配置文件
- 在pom文件中加入mybatis-generator-core依赖,和mybatis-generator的maven插件
- 编写配置文件
- 使用插件来生成实体类、mapper文件和Dao接口
也可以创建MyBatis-Generator类来代替maven插件生成对应类,但比使用插件麻烦很多。
配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| <?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> <classPathEntry location="D:\software\Others\Maven\maven-repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar"/> <context id="tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true" /> </commentGenerator> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf-8&autoReconnect=true" userId="root" password="数据库密码"> <property name="nullCatalogMeansCurrent" value="true"/> </jdbcConnection>
<javaModelGenerator targetPackage="com.example.demo.model" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> <property name="trimStrings" value="false"/> </javaModelGenerator>
<sqlMapGenerator targetPackage="com.example.demo.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> </sqlMapGenerator>
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.demo.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="false"/> </javaClientGenerator> <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context> </generatorConfiguration>
|
然后使用插件自动生成代码。