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

从原理到代码:一文搞懂LFM信号脉冲压缩在Matlab中的实现

本文深入解析了LFM信号脉冲压缩的核心原理与Matlab实现方法。从线性调频信号的数学表达、时频特性入手,详细讲解了如何构建多目标回波仿真环境,并重点阐述了匹配滤波器的频域实现算法。文章提供了完整的、可运行的Matlab代码,涵盖信号生成、噪声添加、脉冲压缩及性能评估等关键步骤,并探讨了加窗处理、参数选择等工程实践中的考量,为雷达信号处理的学习与实践提供了清晰指南。

weixin_29063035的博客 415

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

销售预测的方法与模型(三)丨安全库存与再订货(补货)

较高的 Z 值对应较高的服务水平(例如,服务水平 99% 对应 Z 值 2.33),意味着企业希望更低的缺货风险,因此需要更高的安全库存。在再订货点的管理中,考虑到供应商交货的不确定性,通常需要结合安全库存,以防止在交货期间库存用尽。要对L开根号,根号L表示交货周期越长,企业需要的安全库存越多,因为在较长的供应期内,需求波动的累积效应更明显。举例:供应商的交期服从标准差为2件/天的正态分布,顾客需求为50件/天的正态分布,若要客户服务水平达到 90%,安全库存量应该是多少?下面介绍几种核心的模型与公式。

weixin_45675709的博客 1534

Chatbox使用指南

Chatbox使用指南

weixin_65289420的博客 2万+

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

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

回忆在这里记录着 2445

农经权二轮延包—地块示意图生成

本文介绍了地块示意图制作软件的使用方法及模板制作要点。软件通过设置六个参数(示意图模板、属性数据、地块DBF、导航图、地块图片及存放位置)自动生成Word文档,并可导出PDF。文章详细说明了5页Word模板的制作过程,包括页脚三栏设置和页码插入技巧,支持每户最多28个地块的情况。同时指出该软件生成的图片分辨率(300dpi)满足清晰度要求,并提及软件免费提供插件但收费提供后续服务。

weixin_47364423的博客 1113

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

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

MinggeQingchun的博客 8870

BACnet/IP BBMD跨网段通信深度解析与最佳实践

本文介绍了在BACnet/IP网络中通过BBMD实现跨子网设备通信的关键配置方法。重点阐述了广播分发表(BDT)中掩码设置的重要性:使用子网掩码(255.255.255.0)会导致路由器拦截广播消息,而必须采用主机掩码(255.255.255.255)才能启用单播隧道机制,使BACnet广播消息封装为可路由的单播UDP包。文章详细说明了BDT条目的正确配置格式、BIP广播地址的作用,并提供了验证步骤,强调在跨网段场景中,正确设置掩码是确保设备发现和通信成功的关键因素。

零一架构师的专栏 1536

IC 时钟设计核心问题与高质量系统设计指南(附源码)

本文深入探讨了IC时钟设计的核心问题与高质量系统设计方法。时钟系统作为IC的"心脏",其性能直接影响时序稳定性、功耗效率和可靠性。文章从五个维度展开分析:时钟源选择与性能匹配、时钟分配网络设计、抖动抑制、多时钟域管理和功耗优化。针对高质量时钟系统设计,提出了时钟源优化、时钟树结构优化、干扰抑制与仿真验证等具体方法。同时,系统阐述了时钟与复位的协同设计关系,强调异步复位同步释放等技术的重要性。文章还总结了高质量IC系统设计的综合要点,包括电源/信号完整性、时序功耗平衡、可靠性设计及全流程验

Open 1060

Mybatis基于Idea的逆向工程

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

网络安全学习教程分享 1077

小孙学变频学习笔记(二)变频器的逆变电路

本文主要介绍了变频器中逆变电路的核心器件IGBT及其应用。IGBT是一种电压控制型三端半导体开关器件,具有开关频率高、功耗低的优点,在变频器中仅使用截止和饱和导通状态。文章详细分析了IGBT的结构特性、与晶闸管的区别,以及由四个IGBT组成的直流转交流逆变电路原理。重点阐述了IGBT并联反向二极管的作用:提供电流反向通路、避免反向电压损坏器件、提高开关效率等。最后提供了相关学习参考网址供读者进一步研究。

qq_43091070的博客 1195

mybatis逆向工程的使用

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

jamesluozhiwei的博客 1376

【Inpho精品教程】Inpho简介、安装教程(附Inpho8安装包下载)

本文介绍Trimble旗下Inpho UASMaster航空摄影测量软件,涵盖其核心功能模块(如Match-AT、OrthoMaster、Summit Evolution等)及安装教程。文章详细说明了从安装到汉化破解的全过程,并提供Inpho 8.0.1安装包下载链接与提取码,适用于无人机摄影测量专业用户。

智慧空间实验室 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

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

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

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

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

微笑 1819

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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、付费专栏及课程。

余额充值