使用 MyBatis 的时候,咱们要花大量的时间在写mapper映射文件的sql。MyBatis Generator 是 MyBatis 的代码生成器,能够帮咱们去生成 Model、Dao、Mapper 和映射的 sql,节省很多时间java
这里介绍使用 maven 插件方式去使用 MyBatis Generatormysql
一、首先先 pom.xml 添加 mybatis-generator 插件配置sql
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.7</version> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency> </dependencies> </plugin>
二、建立 Mybatis Generator XML配置文件 generatorConifg.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> <!-- 导入属性配置 --> <properties resource="conf/database.properties"></properties> <!-- 指定数据库的jdbc驱动程序的位置,若是在pom中指定了依赖,这里能够不用 --> <!-- <classPathEntry location="${jdbc.driverLocation}" /> --> <!-- context 用于指定生成对象的配置 --> <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 --> <context id="default" targetRuntime="MyBatis3"> <!-- optional, 用于为MBG生成的各类元素生成注释 --> <commentGenerator> <property name="suppressDate" value="true" /> <!-- 是否去除自动生成的注释 true:是 : false:否 (默认) --> <property name="suppressAllComments" value="false" /> <property name="addRemarkComments" value="true" /> </commentGenerator> <!-- jdbc的数据库链接 --> <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> </jdbcConnection> <!-- optional,类型处理器,在数据库类型和java类型之间的转换控制 --> <javaTypeResolver> <!-- 默认状况下数据库中的 decimal,bigInt 在 Java 对应是 BigDecimal 类 --> <!-- 比例大于零,或者长度大于18,使用BigDecimal --> <!-- 使用经常使用的基本类型代替 sql 包下的引用类型 --> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 用于定义Java模型生成器的属性。targetPackage:生成的实体类所在的包;targetProject:生成的实体类所在的项目和源文件夹 --> <javaModelGenerator targetPackage="com.brave.model" targetProject=".\src\main\java"> <!-- 针对数据库的一个配置,是否把 schema 做为字包名 默认false --> <property name="enableSubPackages" value="false" /> <!-- 是否对modal添加构造函数, 默认false --> <property name="constructorBased" value="true" /> <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符,默认false --> <property name="trimStrings" value="true" /> <!-- 创建modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法,默认false --> <property name="immutable" value="false" /> </javaModelGenerator> <!-- 用于定义SQL映射生成器的属性。targetPackage 和 targetProject:生成的 mapper 文件的包和位置 --> <sqlMapGenerator targetPackage="mappers" targetProject=".\src\main\resources"> <!-- 针对数据库的一个配置,是否把 schema 做为字包名,默认false --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.brave.dao" targetProject=".\src\main\java"> <!-- 针对 oracle 数据库的一个配置,是否把 schema 做为字包名 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- table里面不少参数都是对javaModelGenerator,context等元素的默认属性的一个复写 --> <table tableName="upms_user" domainObjectName="UpmsUser"> </table> </context> </generatorConfiguration>
三、执行mybatis
maven 命令是 mvn mybatis-generator:generate
oracle
若是是用 idea 工具在Maven Porjects中点击插件,执行就行了app
若是是用 eclipse,点击maven build...,goals中填入mybatis-generator:generate 运行dom