MyBatis 逆向工程生产源码(po、mapper)

PO、VO、DAO、BO、DTO、POJO、Entity、Mapper 我们可以通过PO、VO、DAO、BO、DTO、POJO、Entity、Mapper这些对象及其对应的操作来实现用户管理系统的功能。 阅读详情

什么是mybatis的逆向工程

mybatis官方为了提高开发效率,提高自动对单表生成sql,包括 :mapper.xml、mapper.java、表名.java(po类)

在企业开发中通常是在设计阶段对表进行设计 、创建。
在开发阶段根据表结构创建对应的po类。

mybatis逆向工程的方向:由数据库表 —>java代码

逆向工程 使用配置

运行逆向工程 方法:

这里写图片描述

本教程使用通过java程序运行逆向工程 。

逆向工程 运行所需要的jar包和数据库驱动包

逆向工程 运行所需要的jar包

工程目录结构

这里写图片描述

mapper和po都是之后运行工程生成的。

xml配置

需要使用用配置的地方:
1、连接数据库的地址和驱动

这里写图片描述

2、需要配置po类的包路径和需要配置mapper包的路径

这里写图片描述

3、指定数据表

这里写图片描述

java程序

通过java程序生成mapper类、po类。

GeneratorSqlmap.java

import java.io.File;
import java.io.IOException;
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.exception.XMLParserException;
import org.mybatis.generator.internal.DefaultShellCallback;

public class GeneratorSqlmap {

    public void generator() throws Exception{

        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        //制定逆向工程的配置文件
        File configFile = new File("D:\\09soft\\Spring4\\ReverseEngineeringMybatis\\src\\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) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }       
    }
}

使用逆向工程生成的代码

第一步配置generatorConfig.xml

generatorConfig.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/mybatis" userId="root"
            password="123456">
        </jdbcConnection>
        <!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
            connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 
            userId="yycg"
            password="yycg">
        </jdbcConnection> -->

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

        <!-- targetProject:生成PO类的位置 -->
        <javaModelGenerator targetPackage="com.hust.mybatis.po"
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.hust.mybatis.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.hust.mybatis.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->

        <!-- 指定所有数据库表 -->
        <!--
            <table schema="" tableName="%"></table>
        >

        <table schema="" tableName="user"></table>
        <table schema="" tableName="orders"></table>
        <table schema="" tableName="items"></table>
        <table schema="" tableName="orderdetail"></table>

        <!-- 有些表的字段需要指定java类型
         <table schema="" tableName="">
            <columnOverride column="" javaType="" />
        </table> -->
    </context>
</generatorConfiguration>

第二步配置执行java程序
执行java程序后,所生成的代码已经生成到工程中。

这里写图片描述

第三步将生成的代码拷贝到工程 中

测试生成的代码,可以到GitHub下载工程,对照着生成

GitHub对应项目的地址

java 逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..) 企业实际开发中,常用的逆向工程方式: 由数据库的表生成java代码。 方法: 步骤1.在数据库中创建表, 步骤2.java中配置配置文件 配置文件(1)   阅读详情

相关推荐

Mybatis的逆向工程自动生成数据库对应的驼峰形式的javabean

Mybatis的逆向工程自动生成数据库对应的驼峰形式的javabean 一、所需jar包: 二、配置文件(根目录下即src同目录下) 三、按照上面的xml配置文件在src下创建相应的包结构(一个是:com.zbv.mybatis.pojo;另一个是:com.zbv.mybatis.mapper): 四、附上项目源码: Mybatis的逆向工程自动生成数据库对应的驼峰形式的javabean...

七子笑的weBLOG 3430

PO、VO、BO、DTO、DAO 和 POJO 笔记

PO、VO、BO、DTO、DAO 和 POJO 笔记  第 1 个:DAO  DAO(Data Access Object)数据访问对象,它是一个面向对象的数据库接口,负责持久层的操作,为业务层提供接口,主要用来封装对数据库的访问,常见操作无外乎 CURD。我们也可以认为一个 DAO 对应一个 POJO 的对象,它位于业务逻辑与数据库资源中间,可以结合 PO 对数据库进行相关的操作。  第 2 个:PO  PO(Pe...

不想搞技术的的cc不是好cc 629

软件项目质量管理

识别项目中涉及质量管理的不同角色,如项目经理、质量经理、测试人员等,明确每个角色的职责和任务,包括负责哪些质量管理活动和决策。1、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。2、编制软件项目的质量管理计划,包括确定项目的质量标准和要求,以及制定质量控制和质量保证策略等。测试用例表是质量控制过程中的关键工具,确保所有功能和场景都被验证,减少项目中的缺陷。1、理解项目质量管理的基本过程,包括质量计划、质量保证、质量控制和质量改进;明确质量管理活动中的角色和职责。

weixin_51996255的博客 1258

mybatis逆向工程生成po类和mapper

1.mybatis使用方法,建议使用java代码程序 2.建立文件generatorConfig.xml(名字随便命名) 需要引入jar包(mybatis-generator-core-1.3.7) &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE generatorConfiguration PUBLIC "-//...

it_all的博客 1891

汇编语言与接口技术(第4版)清华大学出版社 第2章 80*86微处理器 课后题答案

汇编语言与接口技术(第4版)清华大学出版社 第2章 80*86微处理器 课后题答案

m0_51658788的博客 3606

PIV实验流场流速云图(MALAB contour函数用法)

clear;clc; for k=1:5 str1=['filename1']; str2=['filename2']; str3=['filename3']; str=eval(['str',num2str(k)]); load(str); [m n]=size(y); y=flipud(y); v=-v; x=x-x(1,...

Nick_Cui的博客 3223

Mybatis逆向工程详解(附源码文件)动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

MyBatis逆向工程是一种自动化生成代码的工具,它能够根据数据库表结构自动创建对应的Java实体类、Mapper接口以及Mapper映射文件。

回忆在这里记录着 2445

ESP32对接百度智能云语音识别:从硬件配置到API调用的完整指南

本文详细介绍了ESP32对接百度智能云语音识别的完整流程,从硬件配置到API调用,涵盖麦克风选择、音频处理、错误处理及性能优化等关键环节。通过实战案例展示如何实现低成本、高效率的语音交互方案,特别适合智能硬件开发者参考。

weixin_29198045的博客 372

Java--代码各层级介绍(controller、service、mapper、po、vo等)

要了解各层作用,首先整体看下架构图 架构图:MVC模型: Java的(dao、service、controller)解释 1、dao(mapper)层:数据访问层 dao层属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一 一对应的,其中封装了增删改查基本操作,建议DAO只做原子操作,增删改查。 负责与数据库进行联络的一些任务都封装在此,dao层的设计首先是设计dao层的接口,然后在Spring的配置文件中定义此接口的实现类,然后就可以再模块

MinggeQingchun的博客 8870

eye-in-hand手眼标定系统

上一个博文说了一种手眼标定系统的特殊情况,就是相机随着机械手一起移动的情况。虽然前面简单介绍了一种办法,就是内次拍照时让相机回到之前标定的位置,但是这样处理机器人的工作效率就会大大降低,产生很多重复动作,所以这篇博文就来讲一种更简单的标定方案。 下面是halcon官方给的手眼标定系统的案例代码。 这个例子主要应用于相机固定在机械手末端的手眼系统中,而且标定板相对于机器人也是静止的。 在这...

二毛的博客 1万+

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 502

Mybatis基于Idea的逆向工程

我们编写了Mybatis的很多代码了。我们会发现一个问题,我们基于单表的增删改查。很多代码模板都是属于差不多的。我们每次都要自己去写一遍是不是非常麻烦。这个时候Mybatis就给我们提供了一些很好用的工具,比如逆向工程。逆向工程的意思就是通过数据表来生成对应的Mapper的代码,这些代码里面就包含了单表的几乎所有操作。以前我们要实现逆向工程,需要依赖于外部脚本。但是现在的话Idea已经给我们提供了图形化的工具来生成。我们就使用一下。

网络安全学习教程分享 1077

64.企业级案例(上)-金融行业DDD落地全流程支付系统-附架构演进图

本文以金融支付系统为例,完整展示了DDD在企业级项目中的落地流程。首先通过事件风暴识别核心业务领域,包括交易、渠道、账务等限界上下文。在战略设计中划分上下文边界,确定交易上下文为核心域。战术设计聚焦交易上下文,详细设计了支付单聚合、值对象和支付路由服务。架构实现采用CQRS+EDA模式,通过命令端处理交易,查询端异步更新读模型,并利用防腐层隔离外部渠道。案例展示了DDD从业务探索到架构实现的全过程,体现了其在复杂业务系统中的价值。

yonggeit的博客 3036

mybatis逆向工程的使用

什么是逆向工程 我们知道,mybatis是需要自己手写sql语句的,针对这一显现,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、pojo等) j建好数据库sql表的结构后, 我们就可以利用逆向工程直接生成相应的Dao和JavaBean代码, 并且生成的sql语句非常好用,这样能够大大减少我们平时开发的工作量. 如何...

jamesluozhiwei的博客 1376

C-08-实战:搭建一个AI客服机器人(接入微信企微)

客服是一人公司最大的时间杀手。本文教你搭建一个AI客服机器人,能自动回答80%的常见问题,只把复杂问题转给人工。含微信公众号和企业微信接入完整代码。

Johnny2004的专栏 88

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

mybatis逆向工程(附源码)

源码github下载地址:https://github.com/wcyong/mybatisGeneratorCustom.git 源码百度云盘下载地址:链接: https://pan.baidu.com/s/1czwasu 密码: nc9w mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、pojo等) 有了sql表的结构后, 我们就可以利用逆向工程直接生成相应的Dao和JavaBe

yaoqianss的博客 541

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Mybatis逆向工程详解及源码下载

什么是逆向工程        MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po..)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。1:mybatis逆向工程开发源码: https://do...

微笑 1819

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Mybatis的逆向工程

pojo,dao,mapper这三个模块可以用mybatis的逆向工程来完成 这是生成代码的源码(源码在这儿) 大概的结构 我们只需要关心他的xml配置文件 代码 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBati...

qq_44156131的博客 265

MyBatis逆向工程生成代码

参考: Mybatis Generator 安装(idea+maven) MyBatis逆向工程生成代码(附源码) 通过前面的学习,在实际开发中,我们基本上能对Mybatis应用自如了,但是我们发现了一个问题,所有操作都是围绕着po类,xxxMapper.xml文件,xxxMapper接口等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的po类,xxxMapper.xm...

weixin_44761910的博客 263

013,Mybatis基于Idea的逆向工程

Mybatis基于Idea的逆向工程 1,概述: 我们编写了Mybatis的很多代码了。我们会发现一个问题,我们基于单表的增删改查。很多代码模板都是属于差不多的。我们每次都要自己去写一遍是不是非常麻烦。这个时候Mybatis就给我们提供了一些很好用的工具,比如逆向工程。逆向工程的意思就是通过数据表来生成对应的Mapper的代码,这些代码里面就包含了单表的几乎所有操作。以前我们要实现逆向工程,需要依赖于外部脚本。但是现在的话Idea已经给我们提供了图形化的工具来生成。我们就使用一下。 2,idea连接数

V哥教育,java技术博客 309

Mybatis逆向工程代码的生成和解析(附代码下载链接)

首先应该了解,什么是逆向工程: mybatis需要程序员自己编写sql语句,mybatis官方提供逆向工程,可以针对单表自动生成mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),可以让程序员将更多的精力放在繁杂的业务逻辑上。 企业实际开发中,常用的逆向工程方式:由数据库的表生成java代码。 可上官网进行下载,也可以在我的github上进行下载。 传送门:...

qq_250161537 570

MyBatis逆向工程生成代码(附源码)

什么是逆向工程 MyBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并同时生成Mapper.xml和Mapper接口,方便实用。 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po…...

方圆几里 1963

用mybatis分分钟自定义一个逆向工程出来(只需修改配置文件)

用mybatis分分钟自定义一个逆向工程出来(只需修改配置文件)

冷月心的博客 1039

Mybatis的generator逆向工程

(源码,数据库sql文本,逆向工程需要的jar包已经上传)  什么是逆向工程? Mybatis提供来一个逆向工程工具,通过逆向工程,可以帮助程序员根据单表(和其他表没有关联)来生成po类、mapper映射文件、mapper接口。   步骤如下: 1.创建逆向工程如下:(jar包在压缩包里面) 2.数据库如下:(生成数据库的sql文件在压缩包里面)   3.在src里面创...

qq_24665727的博客 194
上一篇: 报javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception异常 的解决方案
下一篇: SSM框架(一)--Spring和MyBatis整合(详细教程)
杜鲁门
博客等级 码龄11年 219粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值