Mybatis-逆向工程

来源:互联网 发布:怎么作曲编曲软件 编辑:程序博客网 时间:2024/05/18 02:47

源码下载:http://pan.baidu.com/s/1mifPP8k


在之前对mybatis的学习中,我们接触到了很多的sql以各数据表的pojo对象,这需要我们自己手动编写,那么这工作量无疑是很大的;所以Mybatis为我们提供了逆向工程,它可以自动生成我们需要的pojo对象、mapper接口以及配置文件等信息。

那么接下来我们来学习如何使用它。


1、下载逆向工程

点击打开链接


2、打开下载的工程解压进入帮助文档

如下图所示(点击index.html进入):



显示主页:



如图,告诉我们五种生成逆向代码的方法,初次之外还有一种方式(使用eclipse生成)

接下来我们继续查看:



如上图所示,点击该处,我们可以看到如何生成的java代码、



如上图所示,点击该处,则可以看到相关的配置文件。


3、创建逆向生成工程

接下来,我们创建自己的生成工具

(1)、新建java工程

新建java工程,导入相应的jar包。


(2)、新建java文件

import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.exception.XMLParserException;import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap {public void generator() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指定 逆向工程配置文件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);} 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><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true" /></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis1" userId="root"password="0707"></jdbcConnection><!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" userId="yycg"password="yycg"></jdbcConnection> --><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- targetProject:生成PO类的位置 --><javaModelGenerator targetPackage="com.sw.ssm.po"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator>        <!-- targetProject:mapper映射文件生成的位置 --><sqlMapGenerator targetPackage="som.sw.ssm.mapper" targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="com.sw.ssm.mapper" targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表 --><table tableName="items"></table><table tableName="orders"></table><table tableName="orderdetail"></table><table tableName="user"></table><!-- <table schema="" tableName="sys_user"></table><table schema="" tableName="sys_role"></table><table schema="" tableName="sys_permission"></table><table schema="" tableName="sys_user_role"></table><table schema="" tableName="sys_role_permission"></table> --><!-- 有些表的字段需要指定java类型 <table schema="" tableName=""><columnOverride column="" javaType="" /></table> --></context></generatorConfiguration>

4、运行生成代码

经过上面的工作,我们的逆向生成的工程已经完成了,点击运行java代码,即可生成我们想要的文件,我们即可将其拷贝到我们的项目中直接应用。








0 0
原创粉丝点击