Mybatis逆向工程教程

来源:互联网 发布:报刊制作软件coreldraw 编辑:程序博客网 时间:2024/05/17 08:39

1.新建一个java项目

2.导入必须的jar包

mybatis-3.2.7.jar
mybatis-generator-core-1.3.2.jar
mysql-connector-java-5.1.7-bin.jar

3.编写逆向配置文件

<?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/test" userId="root"password="root"></jdbcConnection><!-- oracle连接<jdbcConnection driverClass="oracle.jdbc.OracleDriver"connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" userId="scott"password="tigger"></jdbcConnection> --><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- targetProject:生成PO类的位置.............................................POJO............ --><javaModelGenerator targetPackage="com.jsx.pojo"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true" /></javaModelGenerator>        <!-- targetProject:mapper映射文件生成的位置......................................Mapper............ --><sqlMapGenerator targetPackage="com.jsx.mapper" targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置........................................Mapper接口............. --><javaClientGenerator type="XMLMAPPER"targetPackage="com.jsx.mapper" targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false" /></javaClientGenerator><!-- 指定数据库表 ..............................................................逆向那些表?.............--><table tableName="student"></table><table tableName="teacher"></table><table tableName="course"></table><table tableName="score"></table><!-- 有些表的字段需要指定java类型 <table schema="" tableName=""><columnOverride column="" javaType="" /></table> --></context></generatorConfiguration>


4.编写逆向程序代码


package com.jsx;import java.io.File;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.internal.DefaultShellCallback;public class StartServer {public void generator() throws Exception{List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("genarator.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 {StartServer startServer = new StartServer();startServer.generator();System.out.println("-----------执行结束----------");} catch (Exception e) {e.printStackTrace();System.out.println("-----------执行异常----------");}}}


原创粉丝点击