首页 > 编程语言 >MyBatis 根据数据表反向生成 java 实体类等

MyBatis 根据数据表反向生成 java 实体类等

时间:2024-08-06 10:09:27浏览次数:12  
标签:实体类 java generator org 数据表 new mybatis import

MyBatis 根据数据表反向生成 java 实体类等

 

 

1、MyBatis 根据已有的数据表生成对应的 Java 实体类的配置文件:

  mybatisReverseGeneratorConfig.xml

  此文件放到项目的根目录下 

  

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 <generatorConfiguration>
 6 
 7     <context id="GBaseContext" targetRuntime="MyBatis3" defaultModelType="flat">
 8 
 9         <!--前置分隔符-->
10         <property name="beginningDelimiter" value="`"/>
11         <!--后置分隔符-->
12         <property name="endingDelimiter" value="`"/>
13         <!--设置编码-->
14         <property name="javaFileEncoding" value="UTF-8"/>
15         <!--生成mapper.xml时覆盖原文件-->
16         <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
17 
18         <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
19             connectionURL="jdbc:mysql://127.0.0.1:3309/db_demo"
20             userId="admin"
21             password="123456">
22         </jdbcConnection>
23 
24         <javaModelGenerator targetPackage="com.smbea.po.generated" targetProject="src/main/java">
25             <property name="enableSubPackages" value="true"/>
26             <property name="trimStrings" value="true"/>
27         </javaModelGenerator>
28 
29         <!-- 反向生成持久化对象(*PO) -->
30         <sqlMapGenerator targetPackage="com.smbea.mapper.mysql.generated" targetProject="src/main/resources">
31             <property name="enableSubPackages" value="true"/>
32         </sqlMapGenerator>
33 
34         <!-- 反向生成 Mapper 接口(*Mapper) -->
35         <javaClientGenerator type="XMLMAPPER" targetPackage="com.smbea.mapper.mysql.generated" targetProject="src/main/java">
36             <property name="enableSubPackages" value="true"/>
37         </javaClientGenerator>
38 
39 <!--        <table tableName="%"></table>-->    <!-- % 表示全部表 -->
41         <table tableName="t_user" domainObjectName="User"></table>
42         <table tableName="t_order" domainObjectName="Order"></table>
43         <table tableName="t_trolly" domainObjectName="Trolly"></table>
50 
51     </context>
52 
53 </generatorConfiguration>

 

 

2、在项目的 pom.xml 文件加入如下依赖:

 

1 <dependency>
2             <groupId>org.mybatis.generator</groupId>
3             <artifactId>mybatis-generator-core</artifactId>
4             <version>1.4.0</version>
5         </dependency>

 

 

3、反向生成入口类:

 

 1 package com.smbea.tool;
 2 
 3 import org.mybatis.generator.api.MyBatisGenerator;
 4 import org.mybatis.generator.config.Configuration;
 5 import org.mybatis.generator.config.xml.ConfigurationParser;
 6 import org.mybatis.generator.internal.DefaultShellCallback;
 7  
 8 import java.io.File;
 9 import java.util.ArrayList;
10 import java.util.List;
11 
12 /**
13  * MyBatis 反向工程生成器
14  */
15 public class MyBatisReverseGenerator {
16 
17     public static void main(String[] args) throws Exception {
18         List<String> warnings = new ArrayList<>();
19         boolean overwrite = true;
20         File configFile = new File("mybatisReverseGeneratorConfig.xml");
21         ConfigurationParser cp = new ConfigurationParser(warnings);
22         Configuration config = cp.parseConfiguration(configFile);
23         DefaultShellCallback callback = new DefaultShellCallback(overwrite);
24         MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
25         myBatisGenerator.generate(null);
26     }
27 
28 }

 

标签:实体类,java,generator,org,数据表,new,mybatis,import
From: https://www.cnblogs.com/hapday/p/18344585

相关文章

  • 简单设计一个JAVA并行处理工具类
    在工作中,我们肯定遇到过一个接口要处理N多事项导致接口响应速度很慢的情况,通常我们会综合使用两种方式来提升接口响应速度优化查询SQL,提升查询效率开启多线程并发处理业务数据这里讨论第二种方案:使用多线程并发处理业务数据,最后处理完成以后,拼装起来返回给前端,每个人的实现方......
  • Java IO流 详细版
    一、什么是IO流IO:输入/输出(Input/Output)流:是一种抽象概念,是对数据传输的总称.也就是说数据在设备间的传输称为流,流的本质是数据传输IO流就是用来处理设备间数据传输问题的.常见的应用:文件复制;文件上传;文件下载二、IO流的分类按照数据的流向输入流:读数据输出......
  • 「Java开发指南」MyEclipse for Spring参数 - 注释器(一)
    MyEclipsev2024.1离线版下载MyEclipse技术交流群:742336981欢迎一起进群讨论1.Spring开发中的注释器注解器是MyEclipse中带有Spring支持的代码助手的一部分,它帮助开发人员进行基于注解的开发。虽然大多数Java开发人员都了解如何从技术上使用Java注释,但对于特定技术,哪些注释是......
  • java笔记5
    9.抽象类与接口抽象类抽象类的概念抽象类是面向对象编程中不能被实例化的一种类,它通常被用作基类,为其他类提供公共的接口或实现。什么是抽象抽象是将现实世界中的复杂事物简化为基本特征的过程,它关注对象的本质特征,忽略细节,只说明做什么,不说明怎么做。为什么要抽象抽象帮......
  • 2024,Java开发在中国市场还有发展前景吗?
    随着2024年的到来,Java作为一种经典而强大的编程语言,依然在中国的软件开发市场中扮演着重要角色。然而,许多人对Java的未来发展前景持有不同的看法。让我们来探讨一下当前情况和未来的走向。Java程序员真的过剩了吗?2023年,各大求职网站上的java职位数量相对于其他技术岗位来......
  • Java之类和对象
    目录static关键字1修饰属性2修饰方法 final构造方法基本语法this关键字代码块定义普通代码块 构造代码块静态代码块匿名对象toString 总结static关键字1修饰属性Java的静态属性和类相关,和具体的实例无关.换句话说,同一个类的不同实例共用同一个静......
  • Java调用Linux命令行SpringBoot
    原文链接:https://blog.csdn.net/u014628771/article/details/108308337需求在Linux服务器上的SpringBoot程序中,调用gitclone,之后遍历git仓库中的所有文件。遍历git仓库可以使用File类实现,现在的问题是需要在SpringBoot程序中调用gitclone命令。实现方式使用Javanative的Proc......
  • 基于Java中的SSM框架实现在线音乐网站系统项目【项目源码+论文说明】
    基于Java中的SSM框架实现在线音乐网站系统演示摘要本文讲述了使用JSP语言及HTML5语言及MySql数据库技术开发的音乐网站的设计与实现。本文所讲的JSP音乐系统是通过所学的知识创办一个类似于QQ音乐或者酷狗音乐性质的网站平台,使所有对国内外音乐欣赏感兴趣的人都可以不必再......
  • Apache Flink开发时选择Java还是Scala作为编程语言
    在ApacheFlink的开发过程中,选择Java还是Scala作为编程语言是一个重要的决策点。这两种语言各有其独特的优势和特点,适合不同的开发场景和需求。以下是对这一选择的详细探讨,旨在帮助开发者更好地理解并做出合理的选择。一、ApacheFlink简介ApacheFlink是一个开源的分布式......
  • 【Java基础】03选择结构
    if分支ifif(条件){代码块;}if...else...if(条件){代码块1;}else{代码块2;}if...elseif...else...if(条件1){代码块1;}elseif(条件2){代码块2;//elseif可以写多个}else{代码块3;//else可以省略不写}if嵌套if(条件1){......