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/

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • recv、recvfrom[通俗易懂]

    recv、recvfrom[通俗易懂]1、recvfrom()接收一个数据报并保存源地址。(这里是windows中的头文件,Linux的用法在下面的那个实例)头文件:#include  #includeintrecvfrom(ints,void*buf,intlen,unsignedintflags,structsockaddr*from,int*fromlen);s:标

    2022年7月23日
    29
  • myeclipse最新版_Myeclipse

    myeclipse最新版_Myeclipse只支持单线程下载,单线程最高速度180K左右,好像下载地址加密了https://anonym-proxy.info/index.php?q=aHR0cDovL2Rvd25sb2FkczQubXllY2xpcHNlaWRlLmNvbS9kb3dubG9hZHMvcHJvZHVjdHMvZXdvcmtiZW5jaC9oZWxpb3MvaW5zdGFsbGVycy9teWVjbGlwc2UtYmx1ZS05LjAtb2ZmbGluZS1pbnN0YWxsZXItd2luZG93cy5leGU%3Dhttps://

    2022年9月26日
    6
  • 2021年最新PHP 面试、笔试题汇总(一)[通俗易懂]

    2021年最新PHP 面试、笔试题汇总(一)

    2022年2月18日
    53
  • Java基础(面向对象三大特性)

    Java基础(面向对象三大特性)目标:Java基础(面向对象三大特性)文章目录前言Java的三大特性?总结前言JAVA的地位Java具有面向对象、与平台无关、安全、稳定和多线程等优良特性,是目前软件设计中优秀的编程语言。提示:以下是本篇文章正文内容。Java的三大特性?1.封装性面向对象编程的核心思想之一是将数据的操作封装在一起。通过抽象,即从具体的实例中抽取出共同的性质形成一班的概念,例如类的概念。例如把生活中的一些行为称作是它们具有的方法,而属性是它们的状态描述,仅仅用属性或行为不能很好地描述它们。人们经常谈.

    2022年7月16日
    17
  • clientWidth,offsetWidth,scrollWidth 快速理解

    clientWidth,offsetWidth,scrollWidth 快速理解下面开始区分一、clientWidth和clientHeigh、clientTop和clientLeft1,clientWidth的实际宽度clientWidth= width+

    2022年7月4日
    27
  • 滑动窗口 leetcode_滑动窗口最多可以有多少帧

    滑动窗口 leetcode_滑动窗口最多可以有多少帧原题链接给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值————— —–[1 3 -1] -3 5 3 6 7

    2022年8月9日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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