MyBatis 逆向工程

SpringBoot+MyBatis实现逆向工程 之前一直想要尝试一下自己动手操作一把Mybatis的逆向工程,但是因为各种原因,迟迟未实现,今天正好有空,就试了一把。在搭建的过程当中也遇到了不少的坑,现在将搭建过程和将遇到的坑记录下来,方便自己和各位共享,如果不对之处或有更好的方法,欢迎指出。话不多说,直接上。。。 阅读详情

对于mybatis generator 参考了一些文章,填了一些坑,最后经过通实践,做了一个示例;

环境:

        数据库:mysql5.6;

        JDK: 1.8;

        mybatis-generator-core-1.3.2.jar

做好如下准备:

1:下载 mybatis-generator-core-1.3.2.jar ;版本自定.

2:准备 mysql数据库驱动;

3:编写 mybatisGenerator.xml 文件; 名字可以自定义

具体步骤:

1:编写 mybatisGenerator.xml ,具体内容可参考下面文档

<?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="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true" />
        </commentGenerator>
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/yizhuo" userId="root"
                        password="">
        </jdbcConnection>


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

        <!-- targetProject:生成PO类的位置 -->
        <javaModelGenerator targetPackage="com.test.mbg.po"
                            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.test.mbg.mapper"
                         targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.test.mbg.mapper"
                             targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="demand"></table>
        <table tableName="demand_technical"></table>
        <table tableName="technical"></table>
        <table tableName="log_info"></table>
        <!--当我们需要生成example类的时候 下面的 enable*需要去掉或者调整为true,上面的表都生成了对应的example方法,但是 user 没有生成 -->
        <table tableName="user" enableCountByExample="false"         enableUpdateByExample="false"
            enableDeleteByExample="false" enableSelectByExample="false"
            selectByExampleQueryId="false"
            ></table>

        <!-- 有些表的字段需要指定java类型
         <table schema="DB2ADMIN" tableName="ALLTYPES" domainObjectName="Customer" >
          <property name="useActualColumnNames" value="true"/>
          <generatedKey column="ID" sqlStatement="DB2" identity="true" />
          <columnOverride column="DATE_FIELD" property="startDate" />
          <ignoreColumn column="FRED" />
          <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />
        </table> -->
    </context>
</generatorConfiguration>

2:创建一个简单的Java工程,并创建一个类,类的具体业务内容如下:

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

    public void generator() throws Exception{
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        // 注意 文件路径要绝对路径 ,如:D:\work\mbg\src\main\resources\mbg.xml
        File configFile = new File("D:\\work\\mbg\\src\\main\\resources\\mbg.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) throws Exception {
        try {
            MybatisGeneratorTest app = new MybatisGeneratorTest();
            app.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

注意 上面文件的路径,否则会报找不到文件的错误.

参考:https://www.cnblogs.com/Joanna-Yan/p/6973266.html

Mybatis逆向工程的坑和mybatis逆向工程的使用 @[TOC]( Mybatis逆向工程的坑和mybatis逆向工程的使用 ) Maven 报错:Process terminated 今天使用mybatis逆向工程,刚开始报错Process terminated,还以为是mybatis逆向工程的错误,然后去百度找了好久都没有,突然看见一篇博客,说是maven错误。 原文链接 点开项目名,然后点击链接进入报错文件中 那么只要把报错信息的内容解决就可以跑起来了 Mybatis 之targetRuntime in context mybatis_model 阅读详情

相关推荐

MyBatis的逆向工程详细步骤操作

所谓的逆向工程:会/可以根据数据库表逆向生成Java的 POJO类,SqlMapper.xml (对应SQL映射文件),以及Mapper 接口类等。关于 MyBatis 的逆向工程有两个版本:对应在 targetRuntime 的两个值:java复制代码1. MyBatis3Simple:生成的是基础版,只有基本的增删改查。2. MyBatis3:生成的是增强版,除了基本的增删改查之外还有复杂的增删改查。注意:MyBatis3 增强版,多出来的这个CarExample。

Javajdkbz的博客 1014

mybatis 批量插入数据 实现方式

https://www.toutiao.com/i6723077318710919692/

getdate的专栏 405

mybatis逆向工程

当Oralce数据库存在多个schema可以访问相同的表名时,使用mybatis生成该表的mapper.xml将会出现mapper.xml内容重复的问题,结果导致mybatis解析错误。XXXX即为一个schema的名称,生成后将mapper.xml的schema前缀批量去掉,如果不去掉当oracle用户变更了sql语句将查询失败。使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。根据主键将对象中不为空的值更新至数据库。

不生产代码的码农 1350

Mybatis查询年、季度、月、日、最近七天、今天、昨天、7天内、30天的数据

一、时间范围: 1 ==> 年; 2 ==> 月; 3 ==> 周 <select id="getBroadcastStatistics" resultType="com.rd.pojo.vo.BraodcastStatsVo"> SELECT sum(bd.cog_id = '4') AS total, sum(bd.proc_state = '1') AS ban, sum(bd.proc_state =

qq_49641620的博客 9473

用Simulink复现Hopf振荡器:从数学公式到稳定极限环的保姆级仿真教程

本文详细介绍了如何在Simulink中实现Hopf振荡器,从数学原理到仿真建模的全过程。通过参数调试和波形分析,帮助读者掌握Hopf振荡器的核心特性及其在机器人控制等领域的应用。特别强调了自适应调节技巧,提升系统稳定性和鲁棒性。

weixin_29261711的博客 446

FPGA实现电机转速PID控制

通过纯RTL实现电机转速PID控制,包括电机编码器值读取,电机速度、正反转控制,PID算法,卡尔曼滤波,最终实现对电机速度进行控制,使其能够渐近设定的编码器目标值。

STATEABC的博客 7506

Mybatis mapper.xml

使用insert后获得自增id的方法 &lt;insert id="addTravellerFootAtDao" useGeneratedKeys="true" keyProperty="footId"&gt; INSERT INTO travellerfoot(footTitle, footDate, footText, travellerId) VALUES (#{fo...

SakeOfWhat的博客 271

Solidworks钣金设计:折弯系数、K因子与折弯扣除的实战应用解析

本文深入解析Solidworks钣金设计中折弯系数、K因子与折弯扣除的核心概念与实战应用。通过厘清三者间的逻辑关系与换算方法,并结合材料特性、工艺参数及车间实测,指导工程师精准确定展开长度,确保设计图纸与加工实物的一致性,有效提升钣金件设计精度与生产效率。

weixin_29268267的博客 924

《SSM笔记——Mybatis》11、缓存

版权声明:本文为博主ExcelMann的原创文章,未经博主允许不得转载。 11、缓存 作者:ExcelMann,转载需注明。 11.1、简介 1.什么是缓存? 存在内存中的临时数据 将用户经常查询的数据放在缓存中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而可以提高查询效率,解决了高并发系统的性能问题 2.什么样的数据能够使用缓存? 经常查询并且不经常改变的数据 11.2、Mybatis缓存 Mybatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓

a602389093的博客 210

微信自动化进阶:Python识别特定消息并自动回复(基于win32api控件操作)

本文详细介绍了如何使用Python和win32api实现微信消息的智能监控与自动回复。通过精准识别聊天记录中的特定关键词,结合多级匹配策略和性能优化技巧,构建稳定高效的自动化回复系统,适用于企业客服、个人助手等场景。

weixin_42663213的博客 441

lammps多晶正弦粗糙界面建模

其中,30可以理解为正弦曲线的幅度,150为正弦曲线的基准坐标值,80控制周期,改变参数多试试就能找到规律。很久之前介绍过lammps粗糙界面建模,主要是在lammps中进行一维和二维的正弦粗糙面建模。运行完成后,会生成final.data,这个模型即为上表面为正弦波动的粗糙界面。新建1.py文件,粘贴下面内容后,运行:python 1.py。多晶需要在atomsk中进行,因此上述的方法就不再适用。最近有学员咨询多晶模型的正弦粗糙界面建模应该如何实现。在cmd窗口按顺序运行以下命令创建多晶模型。

lammps_jiayou的博客 389

Mybait获取本地时间

第一种方法 一、MySQL使用now() <update> update t_user set time = now() where id = 1 </update> 二、Oracle使用sysdate <update> update t_user set time = sysdate where id = 1 </update>

Rm_and_Rf的博客 290

ESP32-IDF开发之旅 外设篇④ 串口通信 Uart

ESP32-S3 UART串口通信详解 本文介绍了ESP32-S3的UART串口通信配置流程,涵盖硬件引脚分配、参数设置、数据收发等关键步骤。

单片机菜鸟哥的博客 495

MyBatis逆向工程

例如,如果数据库中有一个名为“user”的表,包含“id”、“username”和“password”列,那么逆向工程会生成一个名为“User”的Java类,该类有“id”、“username”和“password”三个属性。trimStrings属性:逆向工程是通过解析数据库中的表生成Java的实体类(POJO)和mapper接口以及映射文件的,通过解析表中的字段名将其转换为实体类的属性,如果字段名有空格,在这里设置true,trimStrings会自动去掉字段前后的空格,false则反之。

m0_73698492的博客 3057

基于STM32、HAL库的MCP4013T-103E/CH 数字电位器驱动程序设计

define MCP4013_I2C_ADDR (0x5F << 1) // HAL库使用7位地址左移1位,或直接使用0xBE/0xBF。#include "i2c.h" // 包含你的I2C初始化相关的头文件,例如由CubeMX生成的 i2c.h。大于127的值会被截断。// MCP4013的读操作:主机发起读取请求,从机返回当前滑片位置的一个字节。// 使用HAL_I2C_Master_Transmit直接发送数据。// 使用HAL_I2C_Master_Receive读取一个字节。

corlin6688的博客 126

图机器学习(7)——图神经网络 (Graph Neural Network, GNN)

图神经网络 (Graph Neural Network, GNN) 是一类专门处理图结构数据的深度学习方法。这类方法也被称为几何深度学习 (geometric deep learning),在社交网络分析、计算机图形学等众多领域正受到日益广泛的关注。在本节中,我们介绍了 GNN 的核心原理,将卷积等经典深度学习范式拓展至非欧几里得图空间,实现了局部结构与全局特征的层次化提取。

盼小辉丶的博客 1万+

MyBatis的逆向工程

按照惯例,MyBatis的核心配置文件通常命名为mybatis-config.xml,并将其置于项目的资源目录下,如src/main/resources。⑧ databaseIdProvider:用于在多数据库环境下识别不同数据库的方言,以便在映射文件中使用条件语句编写针对特定数据库的SQL。⑨ mappers:配置映射器(Mapper接口或XML映射文件),可以逐个指定文件路径,也可通过包扫描自动发现映射文件。⑥ plugins:注册插件,用于扩展MyBatis的功能,如拦截器、分页插件等。

qq_65285086的博客 1629

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Mybatis逆向工程

mybatis逆向工程的创建,可以节省90%的代码量。以及对逆向工程中出现的各个方法做了详细的解释与举例。

qq_43905491的博客 1048

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Mybatis实现逆向工程

十、mybatis逆向工程 由官方提供的一个工程模板,可以根据指定的数据库自动生成针对单表的所有的常规的增删改查的配置及接口。可以极大的方便设计者,不用再去创建大量的配置及书写接口,从而把精力集中到业务逻辑的实现上去,它的源码存放在github上,也提供了相关的具有逆向工程功能的Maven插件。 1、在pom.xml中引用插件依赖 <build> <finalName>zsxt</finalName> <!--执行逆向工程代码的插

norang的博客 6842

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

mybatis逆向工程_详解MyBatis逆向工程

1.什么是mybatis逆向工程在使用mybatis时需要程序员自己编写sql语句,针对单表的sql语句量是很大的,mybatis官方提供了一种根据数据库表生成mybatis执行代码的工具,这个工具就是一个逆向工程。逆向工程:针对数据库单表—->生成代码(mapper.xml、mapper.java、pojo。。)mybatis-generator-core-1.3.2.jar—逆向工程运行...

weixin_39610415的博客 206
上一篇: 车档有效期无效
下一篇: mybatis 批量插入数据 实现方式
getdate
博客等级 码龄19年 61粉丝 63原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值