使用mybatis-generator插件可以很轻松的实现mybatis的逆向工程,即,能通过表结构自动生成对应的java类及mapper文件,可以大大提高工作效率,并且它提供了很多自定义的设置可以应对不同的需求,最近做公司新开的一个项目就是使用到了它,简单粗暴.
下面介绍详细的使用步骤和注意事项,我的项目环境是idea+maven+ssm,但是我新建了一个空的maven项目专门用来生成java代码,然后再把它有选择的copy到自己的项目环境中.
1.新建一个空的webapp类型的maven项目.
2.在pom.xml文件中加入mybatis-generator插件的配置:
<build> <plugins> <plugin> <groupId>org.mybatis.generatorgroupId> <artifactId>mybatis-generator-maven-pluginartifactId> <version>1.3.2version> <configuration> <verbose>trueverbose> <overwrite>trueoverwrite> configuration> plugin> plugins> build>
3.在resources包下新建一个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> <classPathEntry location="/Users/wyg/personal/视频教程/generatorSqlmapCustom/lib/mysql-connector-java-5.1.28-bin.jar" /> <context id="testTables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressAllComments" value="true" /> commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/shop" userId="root" password="123"> jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> javaTypeResolver> <javaModelGenerator targetPackage="com.ximalaya.shop.data1" targetProject="src/main/java" > <property name="enableSubPackages" value="false" /> <property name="trimStrings" value="true" /> javaModelGenerator> <sqlMapGenerator targetPackage="com.ximalaya.shop.mapper1" targetProject="src/main/java"> <property name="enableSubPackages" value="false" /> sqlMapGenerator> <javaClientGenerator type="ANNOTATEDMAPPER" targetPackage="com.ximalaya.shop.mapper1" targetProject="src/main/java"> <property name="enableSubPackages" value="false" /> javaClientGenerator> <table schema="" tableName="tb_order"> <property name="modelOnly" value="false"/> table> <table schema="" tableName="tb_order_product"> <property name="modelOnly" value="false"/> table> <table schema="" tableName="tb_order_status"> <property name="modelOnly" value="false"/> table> context> generatorConfiguration>
这里需要注意的有两点,第一个就是配置好自己的数据库驱动,我本来将mysql-connector-java-5.1.28-bin.jar直接引入到项目中,然后就忽略了这个标签,但是运行失败,找不到数据库驱动,然后我加上该标签,指向文件中的mysql-connector-java-5.1.28-bin.jar的绝对路径,就好了.第二个就是javaClientGenerator标签里的type,在注释中有详细解释,这里可以根据你实际的需求生成不同类型的java代码.
配置完之后,直接在当前项目下输入命令行:mvn mabatis-generator:generate,注意我的项目名称是shopTest所以在该目录下运行.
如果能看到BUILD SUCCESS,那就证明操作成功了,去你指定的src目录下查看生成的代码即可.