Mybatis-逆向工程
2017-09-28 16:20
225 查看
逆向工程生成Mybatis映射文件及持久化类
使用IDEA逆向工程生成Mybatis的配置文件没有Hibernate那么方便—Hibernate逆向工程,因为IDEA没有Mybatis的逆向工程插件,所以想要使用Mybatis逆向工程,需要创建一个Java项目,利用Mybatis官方提供的jar包:mybatis-generator-core-1.3.2,完成逆向工程操作1.创建一个逆向工程项目
我创建了一个Mybatis逆向工程项目并把它放到了码云上,链接地址–Mybatis逆向工程如果自己创建项目,则创建一个普通Java项目即可(我创建了一个Maven项目)
1,创建一个Java类GeneratorSqlmap
2,导入log4j日志文件
3,在项目目录下创建一个逆向工程配置文件generatorConfig.xml
4,导入jar包,最重要的是mybatis-generator-core-1.3.2(实现逆向工程的工具类都在这个jar包中)
项目结构如图所示
2.完善工具类及配置文件
1.log4j配置文件(对项目没有影响,一般配置即可)### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file mylog.log ### log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=d:\\mylog.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### ### fatal error warn info debug trace log4j.rootLogger=off, stdout
2.工具类GeneratorSqlmap(不用改动)
package com.itheima.utils; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.util.ArrayList; import java.util.List; public class GeneratorSqlmap { public void generator() throws Exception{ List<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定逆向工程配置文件generatorConfig.xml File configFile = new File("generatorConfig.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } //项目配置完成后运行main程序即可获得映射文件和持久化类 public static void main(String[] args) throws Exception { try { GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
3.配置逆向工程配置文件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="testTables" targetRuntime="MyBatis3"> <commentGenerator> <!-- 1.是否去除自动生成的注释 true:是 : false:否 --> <property name="suppressAllComments" value="true" /> </commentGenerator> <!--2.配置Mysql数据库连接的信息:驱动类、连接地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/babasport" userId="root" password="***"> </jdbcConnection> <!--oracle数据库的连接配置--> <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg" password="yycg"> </jdbcConnection> --> <!-- 3.默认false,把JDBC DECIMAL和NUMERIC类型解析为 Integer,为 true时把JDBC DECIMAL和NUMERIC类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false" /> </javaTypeResolver> <!-- 4.targetProject:生成持久化类的位置 --> <javaModelGenerator targetPackage="com.sandking.mybatis.pojo" targetProject=".\src"> <!-- 5.enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> <!-- 6.从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true" /> </javaModelGenerator> <!-- 7.targetProject:mapper映射文件生成的位置 --> <sqlMapGenerator targetPackage="com.sandking.mybatis.mapper" targetProject=".\src"> <!-- 8.enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </sqlMapGenerator> <!-- 9.targetPackage:mapper接口生成的位置 --> <javaClientGenerator type="XMLMAPPER" targetPackage="com.sandking.mybatis.mapper" targetProject=".\src"> <!-- 10.enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false" /> </javaClientGenerator> <!-- 11.指定数据库表 --> <table schema="" tableName="bbs_color"></table> <table schema="" tableName="bbs_city"></table> <!-- 12.有些表的字段需要指定java类型 <table schema="" tableName="user"> <columnOverride column="id" javaType="Long" /> </table>--> </context> </generatorConfiguration>
上述配置文件的配置只有部分是需要根据不同的项目做相应更改的,大部分配置使用默认即可
需要根据不同项目做相应更改的地方
2.连接数据库的用户名和密码
4.持久化类的生成位置
7.mapper映射文件的生成位置
9.mapper接口的生成位置
11.配置数据库的表的信息,只用配置tableName属性(数据库表表名)
3.运行工程生成配置文件及持久化类
运行GeneratorSqlmap的main方法
相关文章推荐
- idea中使用mybatis逆向工程详解
- 使用mybatis的逆向工程(xml方式)创建java代码
- springboot整合mybatis逆向工程
- mybatis的逆向工程中创建的以Example类的作用
- IDEA使用maven的进行mybatis的逆向工程
- Mybatis 的逆向工程案例
- 第四章Mybatis的整合、逆向工程和插件
- JavaWeb——Mybatis逆向工程
- Mybatis之逆向工程
- eclipse中利用Maven逆向工程生成PO类以及mapper(mybatis)
- IDEA中使用MyBatis Generator逆向工程生成代码(MySQL)
- MyBatis-逆向工程
- IDEA 中生成 MyBatis 逆向工程实践
- ssm框架整合笔记-3-mybatis的逆向工程与测试项目
- MyBatis逆向工程建立实体
- mybatis逆向工程
- mybatis逆向工程之配置
- java-ssm-mybatis逆向工程
- mybatis逆向工程之生成文件解释