首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mybatis generator(MyBatis的逆向工程)

mybatis generator(MyBatis的逆向工程)

作者头像
CBeann
发布于 2023-12-25 08:11:49
发布于 2023-12-25 08:11:49
19800
代码可运行
举报
文章被收录于专栏:CBeann的博客CBeann的博客
运行总次数:0
代码可运行

1创建数据表

如图所示:我的是在text数据库中创建了一个Student表,字段有id(int),   name(varchar),     age(int),    score(int)

2创建项目

1)加入jar特殊的jar包   mybatis-generator-core-x.x.x.jar 

2)创建项目

3)编写GeneratorXML.xml

注意GeneratorXML.xml的位置,和src同级

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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="DB2Tables" targetRuntime="MyBatis3">  
      
            <!-- 不生成注释 -->  
            <commentGenerator>  
                <property name="suppressAllComments" value="true" />  
            </commentGenerator>  
      
      
            <!-- 连接的数据库的信息 -->  
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"  
                connectionURL="jdbc:mysql://localhost:3306/text" userId="root"  
                password="root">  
            </jdbcConnection>  
      
            <!-- 默认false,把JDBC DECIMALNUMERIC 类型解析为 Integer,为 true时把JDBC DECIMALNUMERIC 类型解析为java.math.BigDecimal -->  
            <javaTypeResolver>  
                <property name="forceBigDecimals" value="false" />  
            </javaTypeResolver>  
      
      
            <!-- javaBean生成的位置 -->  
            <javaModelGenerator targetPackage="com.imooc.entity"  
                targetProject=".\src">  
                <property name="enableSubPackages" value="true" />  
                <property name="trimStrings" value="true" />  
            </javaModelGenerator>  
      
      
            <!-- sql映射文件的位置-->  
            <sqlMapGenerator targetPackage="com.imooc.mapper targetProject=".\src">  
                <property name="enableSubPackages" value="true" />  
            </sqlMapGenerator>  
      
            <!-- dao的位置位置 -->  
            <javaClientGenerator type="XMLMAPPER"  
                targetPackage="com.imooc.dao</span>" targetProject=".\src">  
                <property name="enableSubPackages" value="true" />  
            </javaClientGenerator>  
      
            <!-- tableName对应数据库中的表名,domainObjectName对应实体类 -->  
            <table tableName="student" domainObjectName="Student"></table>  
      
        </context>  
    </generatorConfiguration> 

4)编写程序执行上面的XML

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package com.imooc.test;
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 MainGenerator {
	
	public static void main(String[] args) throws Exception {
		   List<String> warnings = new ArrayList<String>();
		   boolean overwrite = true;
                  File configFile = new File("GeneratorXML.xml");//就这一句需要注意,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);
		   System.out.println("123123");
	}

}

5)查看结果

如果是Oracle

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?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="DB2Tables" targetRuntime="MyBatis3">

		<!-- 不生成注释 -->
		<commentGenerator>
			<property name="suppressAllComments" value="true" />
		</commentGenerator>




		<!-- 连接的数据库的信息 -->
		<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver"
			connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:Orcl" userId="user1"
			password="123456">
		</jdbcConnection>

		<!-- 默认false,把JDBC DECIMALNUMERIC 类型解析为 Integer,为 true时把JDBC DECIMALNUMERIC 类型解析为java.math.BigDecimal -->
		<javaTypeResolver>
			<property name="forceBigDecimals" value="false" />
		</javaTypeResolver>


		<!-- javaBean生成的位置 -->
		<javaModelGenerator targetPackage="entity"
			targetProject=".\src">
			<property name="enableSubPackages" value="true" />
			<property name="trimStrings" value="true" />
		</javaModelGenerator>


		<!-- sql映射文件的位置-->
		<sqlMapGenerator targetPackage="mapper" targetProject=".\src">
			<property name="enableSubPackages" value="true" />
		</sqlMapGenerator>

		<!-- dao的位置位置 -->
		<javaClientGenerator type="XMLMAPPER"
			targetPackage="dao" targetProject=".\src">
			<property name="enableSubPackages" value="true" />
		</javaClientGenerator>

		<!-- tableName对应数据库中的表名,domainObjectName对应实体类 -->
		<table tableName="TB_JOB" domainObjectName="Job"></table>


	</context>
</generatorConfiguration>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MyBatis Generator逆向工程-你还在手写mapper吗?
简单来说,Mybatis逆向工程可以根据数据库的表来逆向生成相关java代码和sql语句,如mapper.java,mapper.xml。虽然mapper接口及其配置文件我们完全可以自己写,不过当表数量很多,关联复杂时,用MyBatis Generator逆向工程就十分方便了。当然了,我们也可以根据业务逻辑修改其生成的mapper。
唔仄lo咚锵
2020/09/15
2.6K0
Mybatis Generator的使用
在写代码过程中,常常要写一些简单的CURD操作,为了能够把时间用在业务逻辑上,看了Mybatis Generator生成工具,根据官网的文档,改成适合自己使用的生成器。
小码农薛尧
2019/08/21
4880
mybatis逆向工程
就是我们可以根据数据库表,自动生成javabean,mapper接口和其对应的maaper.xml文件。
西西嘛呦
2020/08/26
6040
mybatis逆向工程
简单使用 Mybatis Generator
https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core
万能青年
2019/08/30
8280
简单使用 Mybatis Generator
mybatis的逆向工程怎么实现_mybatis逆向工程原理
mybatis,一个相对于hibernate的轻量级DAO框架,它的逆向工程可以很方便的从数据库到生成对应的entity和mapper接口。
全栈程序员站长
2022/09/24
6510
mybatis的逆向工程怎么实现_mybatis逆向工程原理
mybatis的逆向工程_mybatis逆向工程多表查询
逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到了使用的时候再去用吧,使用逆向工程时,需要注意的是表之间的关系无法映射出来!也就是说mybatis的逆向工程生成的都是单表操作, 1:mybatis逆向工程开发文档:
全栈程序员站长
2022/09/24
7440
mybatis的逆向工程_mybatis逆向工程多表查询
mybatis逆向工程是什么意思_长话短说的方法
  逆向工程通常包括由数据库的表生成 Java 代码 和 通过 Java 代码生成数据库表。而Mybatis 逆向工程是指由数据库表生成 Java 代码。   Mybaits 需要程序员自己编写 SQL 语句,但是 Mybatis 官方提供逆向工程可以针对单表自动生成 Mybaits 执行所需要的代码,包括 POJO、Mapper.java、Mapper.xml …。
全栈程序员站长
2022/09/24
5830
mybatis逆向工程是什么意思_长话短说的方法
mybatis逆向工程
mybatis逆向工程的作用是根据数据库里的表结构自动生成实体类,映射文件,和接口。 和hibernate的自动建表相反。
Mshu
2018/10/31
1.1K0
mybatis逆向工程插件
使用的时候修改上面文件的url和用户名,密码 然后右键 GeneratorSqlmap文件 run as application
全栈程序员站长
2022/09/24
4580
mybatis逆向工程插件
mybatis逆向工程配置文件_mybatis逆向工程多表查询
mybatis逆向工程很早之前有用过,但是一直没有整理使用步骤,今天来回顾下在idea下springboot中整合mybatis逆向工程的实现步骤
全栈程序员站长
2022/09/27
3910
mybatis逆向工程配置文件_mybatis逆向工程多表查询
mybatis 详解(十)------ 逆向工程
  通过前面的学习,在实际开发中,我们基本上能对mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实
IT可乐
2018/01/04
9880
mybatis 详解(十)------ 逆向工程
Mybatis_笔记_01_逆向工程
通过Mybatis逆向工程,可以从数据库中的表自动生成pojo、mapper映射文件和mapper接口
shirayner
2018/08/10
2530
Mybatis_笔记_01_逆向工程
逆向工程----MBG
逆向工程 逆向工程概念 MBG概念 步骤1: 导入相关依赖 引入mybatis-generator.xml配置,建议从官网文档粘贴后,进行配置修改 使用代码运行,也可以用命令行 效果 小tips 使用插件方式启动mbg,需要在build标签中进行设置,以及引入最开始给的插件依赖 MBG的具体使用看这篇文章 逆向工程概念 ---- MBG概念 ---- 步骤1: 导入相关依赖 <!--mybatis的逆向工程--> <dependency> <
大忽悠爱学习
2021/11/15
4580
MyBatis逆向工程_java maven
MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。 1:mybatis逆向工程开发源码:
全栈程序员站长
2022/09/24
4420
MyBatis逆向工程_java maven
Mybatis逆向工程的pojo实现序列化接口的代码
这两天在学习一个分布式的项目--淘淘商城,使用了Alibaba的dubbo作为通信工具,zookeeper作为register,由于dubbo是基于socket协议的,所以在进行pojo传输的时候报了异常,因为pojo没有实现序列化接口,就无法进行基于二进制的序列化传输。报错如下:
黑泽君
2018/12/07
1.2K0
Mybatis逆向工程的pojo实现序列化接口的代码
mybatis的逆向工程怎么实现_mybatisinsert
mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…)企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。 注意:只能对单表进行操作
全栈程序员站长
2022/09/24
3030
mybatis的逆向工程怎么实现_mybatisinsert
Mybatis逆向工程生成po、mapper接口、mapper.xml
ps:在运行时可能会报错:找不到generatorConfig.xml文件,这时可以使用绝对路径或classpath路径
用户2409797
2019/02/25
7940
mybatis逆向工程的使用前言:总结:
前言: mybatis是目前很流行的持久层框架,其逆向工程更是大大缩减了我们的开发时间。所谓mybatis逆向工程,就是mybatis会根据我们设计好的数据表,自动生成pojo、mapper以及map
贪挽懒月
2018/06/26
6600
02 使用Mybatis的逆向工程自动生成代码
1、逆向工程的作用 Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml、Mapper.java、pojo)。 2、逆向工程的使用方法
nnngu
2018/03/15
8030
02 使用Mybatis的逆向工程自动生成代码
MyBatis的逆向工程
MyBatis是目前很流行的持久层框架,很多企业都在采用。但是其复杂繁琐的配置,重复性的实体类创建等等,消耗了程序员大量的精力,同时有些地方如果一个细小的疏忽,可能导致最终功能运行失败。例如:在几十个字段的表中,某一列的列名配置疏忽。基于此,mybatis 推出了一套 jar 包,可以依据我们设计好的数据库表,自动生成 pojo、mapper 以及mapper.xml。有了逆向工程,便大大缩减了我们的开发时间。
宋先生
2019/07/18
4850
相关推荐
MyBatis Generator逆向工程-你还在手写mapper吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档