当前位置: 移动技术网 > IT编程>开发语言>Java > mybatis_16逆向工程

mybatis_16逆向工程

2019年03月17日  | 移动技术网IT编程  | 我要评论

简介

简单点说,就是通过数据库中的单表,自动生成java代码

 

mybatis官方提供了逆向工程

可以针对单表自动生成mybatis代码(mapper.java\mapper.xml\po类)

 

企业开发中,逆向工程是个很常用的工具。

 

下载逆向工程

 

 

使用方法

1、  创建简单的java项目

2、  导入jar包,创建generator配置文件

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

 

3、  使用java类来执行逆向工程;

4、  把生成的代码拷贝到项目中。

5、  在正式项目中使用逆向工程生成的代码

 

第一步:创建generator配置文件

在classpath下,创建generator.xml配置文件:(文件内容可以从逆向工程的jar包中docs目录下的中找到相关代码)

<?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="mysqltable" targetruntime="mybatis3">
        <!-- 1.数据连接参数 -->
        <jdbcconnection driverclass="com.mysql.jdbc.driver"
                        connectionurl="jdbc:mysql://localhost:3306/bishe"
                        userid="root"
                        password="123456">
        </jdbcconnection>

        <!-- 2.默认false,把jdbc decimal 和 numeric 类型解析为 integer,为 true时把jdbc decimal
                和 numeric 类型解析为java.math.bigdecimal -->
        <javatyperesolver >
            <property name="forcebigdecimals" value="false" />
        </javatyperesolver>

        <!-- 3.生成模型的位置 -->
        <javamodelgenerator targetpackage="com.ahd.domain" targetproject=".\src">
            <!-- enablesubpackages:是否让schema作为包的后缀 -->
            <property name="enablesubpackages" value="true" />
            <property name="trimstrings" value="true" />
        </javamodelgenerator>

        <!-- 4.targetproject:mapper映射文件生成的位置 -->
        <sqlmapgenerator targetpackage="com.ahd.mapper"  targetproject=".\src">
            <!-- enablesubpackages:是否让schema作为包的后缀 -->
            <property name="enablesubpackages" value="true" />
        </sqlmapgenerator>

        <!-- 5. targetpackage:mapper接口生成的位置 -->
        <javaclientgenerator type="xmlmapper" targetpackage="com.ahd.mapper"
                             targetproject=".\src">
            <property name="enablesubpackages" value="true" />
        </javaclientgenerator>

        <!-- 6.要生成的表 -->
        <table tablename="user"/>
        <table tablename="food"/>
        <table tablename="order"/>
    </context>
</generatorconfiguration>

 


第二步:使用java类来执行逆向工程
 

需要导入mysql的驱动包和mybatis的逆向工程包

第三步:把生成的代码拷贝到项目中 

如果正式项目中已经有po类所在的包了,那么就只需要拷贝po类到指定包下就可以。

如果正式项目中没有po包,那么就把逆向工程中整个po类的包拷贝过去。

 

mapper.xml和mapper.java的拷贝与po类一样。

 

 

第四步:测试 

逆向工程提供了很多查询方法,可以不用写sql,这个根hibernate有点类似

 

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 main {

    public static void main(string[] args) throws exception{
        list<string> warnings = new arraylist<string>();
        boolean overwrite = true;
        file configfile = new file("src/generator.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);
    }
}

 

 


  

 

 

注意:generator.xml文件如果在src目录下,则

file configfile = new file("src/generator.xml");

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网