mybatis的逆向工程_mybatis逆向工程多表查询

mybatis的逆向工程_mybatis逆向工程多表查询逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧,使用逆向工程时,需要注意的是表之间的关系无法映射出来!也就是说mybatis的逆向工程生成的都是单表操作,1:mybatis逆向工程开发文档:http://www.mybati

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧,使用逆向工程时,需要注意的是表之间的关系无法映射出来!也就是说mybatis的逆向工程生成的都是单表操作,
1:mybatis逆向工程开发文档:

http://www.mybatis.org/generator/configreference/xmlconfig.html

2:使用逆向工程生成代码有好几种方式,这里就介绍一种最简单的,java程序生成:,解释在配置中
2.1准备逆向工程配置文件genreatorConfig.xml,名字无所谓,只要在java程序中作为file传入就好:

<?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="F:/cache/mysql-connector-java-5.1.28-bin.jar" />


    <context id="DB2Tables" targetRuntime="MyBatis3">

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <!--数据库链接地址账号密码-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost/test" userId="root" password="">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!--生成Model类存放位置-->
        <javaModelGenerator targetPackage="com.leige.domain" targetProject="src">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--生成映射文件存放位置-->
        <sqlMapGenerator targetPackage="com.leige.domain" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--生成DaoMapper类存放位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.leige.dao" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--生成对应表及类名,需要记住的一点是逆向工程无法生成关联关系,只能生成单表操作-->
        <table tableName="student" domainObjectName="Student" ></table>
           <table tableName="teacher" domainObjectName="Teacher" ></table>
    </context>
</generatorConfiguration>

2.2下载jar包,大家如果找不到,可以去maven repository去下载:
mybatis-generator-core-1.3.2.jar
数据库驱动:mysql驱动,获取其他数据库驱动
2.3准备java程序,在开发文档首页,粘贴一下就好了,没必要记住:

package com.leige.test;

import java.awt.geom.GeneralPath;
import java.awt.im.InputContext;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.io.Resources;
import org.apache.log4j.chainsaw.Main;
import org.apache.log4j.lf5.util.Resource;
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 MybatisGen {
    public static void generator() throws Exception{
           List<String> warnings = new ArrayList<String>();
           boolean overwrite = true;
           //项目根路径不要有中文,我的有中文,所以使用绝对路径
           File configFile = new File("F:/cache/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) {
        try {
            generator();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

2.4运行java程序,就会发现生成的代码:
这里写图片描述
***Mapper.java文件是操作接口,mybatis会自动根据*Mapper.xml文件生成实现代理,我们只需要获取接口,调用接口就可以
Example.java文件是综合查询时所需要的参数类,(我看了代码,猜的)*
好了在介绍下,eclipse下可以安装的mybatis-gen…的逆向工程插件,和其他插件安装是一样的步骤:
在线安装地址为:http://mybatis.googlecode.com/svn/sub-projects/generator/trunk/eclipse/UpdateSite/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171820.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mysql navicat 15 激活码【2021免费激活】

    (mysql navicat 15 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1S…

  • Solidity String转byte32 byte转String

    Solidity String转byte32 byte转String///string类型转化为bytes32型转functionstringToBytes32(stringmemorysource)constantinternalreturns(bytes32result){assembly{result:=mload(add(source,32))}}///bytes32类型转化为string型转functionbytes32ToString(b.

  • python获取linux环境变量_linux如何设置环境变量

    python获取linux环境变量_linux如何设置环境变量Python对环境变量的访问不能准确反映操作系统对流程环境的看法.os.getenv和os.environ在特定情况下不能正常运行.有没有办法正确地获得运行过程的环境?为了演示我的意思,采用两个大致相同的程序(C中的第一个,python中的另一个):#include#include#includeintmain(intargc,char*argv[]){char*env;for(;…

  • 我的世界服务器开启显示坐标的指令,我的世界坐标怎么看 坐标指令「建议收藏」

    我的世界服务器开启显示坐标的指令,我的世界坐标怎么看 坐标指令「建议收藏」在我的世界游戏中,坐标这个问题如果玩的很6的话能够帮助我们瞬间移动,去到任何想去的地方,这时有不少玩家不禁想问了,我的世界坐标怎么看,坐标指令又是什么呢?坐标(coordinates)在数字上反映了您在主世界中的位置。坐标基于一个由三条交于一点(即原点)的坐标轴而形成的网格。玩家会出生在距离原点数百方块的位置上。x轴反映了玩家距离原点在东()西(-)方向上的距离,如经度。z轴反映了玩家距离原点在…

  • python里[::-1]_python中的数组类型

    python里[::-1]_python中的数组类型目录1.python数组下标2.b=a[i:j]3.b=a[i:j:k]1.python数组下标python下标有两套,一套是正的,一套是负的,a=’python’的下表如下python正下标012345负下标-6-5-4-3-2-1使用正下标时,下标i取值范围为0<=i<len(a)超出范围为越界使用负下标时,下标i取值范围为-1>=i>-len(a)-1超出范围为越界2.b=a[i:

  • 取中文拼音首字母,提供了多音字的选择 js javascript c# java(转)

    取中文拼音首字母,提供了多音字的选择 js javascript c# java(转)第一个js版本第二个C#版本第三个也是C#版本第四个java版本第一个js版本”Content-Type”content=”text/html;charset=GB2312″/>”JavaScript”>

关注全栈程序员社区公众号