MyBatis十:逆向工程(QBC风格)

article/2025/11/7 20:38:24

逆向工程

一、创建逆向工程

  1. 创建依赖pom.xml
    <packaging>jar</packaging><!-- 依赖MyBatis核心包 -->
    <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.37</version></dependency>
    </dependencies><!-- 控制Maven在构建过程中相关配置 -->
    <build><!-- 构建过程中用到的插件 --><plugins><!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.0</version><!-- 插件的依赖 --><dependencies><!-- 逆向工程的核心依赖 --><dependency><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-core</artifactId><version>1.3.2</version></dependency><!-- 数据库连接池 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.2</version></dependency><!-- MySQL驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.8</version></dependency></dependencies></plugin></plugins>
    </build>
    
  2. BMG配置文件generatorConfig.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration><!--targetRuntime: 执行生成的逆向工程的版本MyBatis3Simple: 生成基本的CRUD(清新简洁版)MyBatis3: 生成带条件的CRUD(奢华尊享版)--><context id="DB2Tables" targetRuntime="MyBatis3"><!-- 1.数据库的连接信息 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:13306/mybatis"userId="root"password="123456"></jdbcConnection><!-- 2.javaBean的生成策略  trimStrings:去除字符串前后的空格--><javaModelGenerator targetPackage="com.atguigu.mybatis.pojo" targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- 3.SQL映射文件的生成策略 --><sqlMapGenerator targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\src\main\resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- 4.Mapper接口的生成策略 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.mapper"  targetProject=".\src\main\java"><property name="enableSubPackages" value="true" /></javaClientGenerator><!-- 5.逆向分析的表 --><!-- tableName设置为*号,可以对应所有表,此时不写domainObjectName --><!-- domainObjectName属性指定生成出来的实体类的类名 --><table tableName="t_emp" domainObjectName="Emp"/><table tableName="t_dept" domainObjectName="Dept"/></context>
    </generatorConfiguration>
    
  3. 创建逆向工程,双击该命令即可

    在这里插入图片描述

二、QBC风格

  1. Query By Criteria,根据标准查询

    即条件都是定义好的,只需要调用像对应的方法,就可以生成标准的条件。

  2. 使用的方法
    EmpExample example = new EmpExample();
    // 使用该方法后,example对象就有了对应的条件,直接被调用即可
    example.createCriteria().andEmpNameEqualTo("张三");
    
  3. 测试
    @Test
    public void test1() {try {InputStream is = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);SqlSession sqlSession = factory.openSession(true);EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);EmpExample example = new EmpExample();// 给对象赋值对应的标准条件example.createCriteria().andEmpNameEqualTo("张三");// 在SQL语句中直接调用该对象List<Emp> empList = mapper.selectByExample(example);empList.forEach(emp -> System.out.println(emp));} catch (IOException e) {e.printStackTrace();}
    }
    

http://chatgpt.dhexx.cn/article/FsJ6H8BP.shtml

相关文章

QBC 查询

当使用 hibernate 的 QBC 进行查询的时候&#xff0c;无需写 sql 语句&#xff0c;使用的是 Criteria 对象中的方法进行的实现&#xff0c;创建 Criteria 对象的时候&#xff0c;需要传入一个实体类.class&#xff0c;会自动关联该实体类对应的数据库表。 一&#xff1a;查询所…

Hibernate--QBC举例+详解(一)

QBC检索 QBC&#xff08;Query By Criteria&#xff09;是Hibernate提供的另一种检索对象的方式&#xff0c;它主要由Criteria接口、Criterion接口和Expression类组成。 Criteria接口是Hibernate API中的一个查询接口&#xff0c;它需要由session进行创建。一个单独的查询就是…

统一软件开发过程(RUP)的概念和方法

统一软件开发过程&#xff08;Rational Unified Process,RUP)是一种面向对象且基于网络的程序开发方法论。 根据Rational(Rational Rose和统一建模语言的开发者)的说法&#xff0c;好像一个在线的指导者&#xff0c;它可以为所有方面和层次的程序开发提供指导方针&#xff0c;…

程序员技术开发委托合同模板 私活模板

---需要电子word版&#xff0c;请关注--------- 回复&#xff1a;私活 含税与不含税计算工具&#xff1a; 假设税率是6% 不含税金额&#xff1d;总金额/1.06 税额&#xff1d;不含税金额0.06 增值税在线计算器&#xff1a;http://www.ab126.com/goju/7332.html 大小写转换&…

软件开发模型

1.1大爆炸模型 大爆炸默认是相对简单的开发模型&#xff0c;在开发过程中&#xff0c;没有什么规范和计划&#xff0c;更没有测试 1.2 边做边改模型 相对于大爆炸模型&#xff0c;考虑到了项目需求&#xff0c;然后开发来回的编写&#xff0c;测试&#xff0c;修改缺陷的过程…

10种软件开发模型整理

准备整理一下软件模型&#xff0c;但是百度到都是零散信息&#xff0c;所以文章准备从概念、模型核心思想、优点、缺点、生命周期等体现各个软件模型 什么是软件模型 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、…

系统软件开发基础知识

系统软件开发基础知识 最近最火的是孩子考了多少分&#xff0c;能上那个好大学&#xff0c;出现了我的大学的我的梦。 他们的大学他们的梦&#xff0c;我是啥&#xff0c;我的软件我的梦。 下面了解到的基础知识做一个归纳&#xff0c;本人了解这方面的知识点可能很片面&…

软件开发测试验收通知书,软件项目开发-客户告知书

为确保项目进度快速进行&#xff0c;在域名备案、开通相关第三方接口、确认功能文档、UI设计沟通和验收等阶段&#xff0c;恳请贵方百忙之中抽出时间积极配合&#xff0c;同时也为避免以后双方产生不必要的纠纷&#xff0c;特此告知贵方在项目进行过程中提供如下必要的配合条件…

利用Windows注册Dll或其他文件

注册Dll文件 前章 有时候&#xff0c;我要使用ActiveX控件&#xff0c;但是。如果别人给了一个Dll没注册进去怎么办。 注册 在电脑开始界面->运行->输入regsvr32“Dll文件所在路径”&#xff08;也可以用winR快捷键输出&#xff09;&#xff0c;如下图&#xff1a;

DLL注入——使用注册表

1.简介 整个系统的配置都保存在注册表中&#xff0c;我们可以通过调整其中的设置来改变系统的行为。 该方式依赖User32.dll&#xff0c;也就是说&#xff0c;需要可执行程序调用到这个系统动态库&#xff0c;我们注入的dll才会被执行到。基本上所有基于GUI的应用程序都使用了…

如何手动运行dll文件,非注册dll

遇到一个dll文件的恶意样本&#xff0c;cuckoo沙箱给出的运行命令如下&#xff1a; cd C:\Windows\System32\ rundll32.exe C:\coreshell.dll,DllMain 方法&#xff1a;rundll32.exe 文件位置,DllMain but会弹出警告 另外一种方法&#xff0c;在专家的文章中有提到 DllM…

怎样在计算机上注册dll文件,win10如何注册dll文件_win10系统dll文件怎样安装

在win10系统中&#xff0c;有着大量的dll文件&#xff0c;这是一种计算机上的一类文件&#xff0c;而且一个DLL文件也可能被不同的应用程序使用&#xff0c;但是许多用户可能都不知道win10注册dll文件的操作&#xff0c;那么win10如何注册dll文件呢&#xff1f;接下来就来告诉大…

Win10注册DLL办法

测试环境&#xff1a;win7 64位系统自动升级到win10 64位系统 经验提升&#xff1a;不要在开始-运行-CMD里面执行&#xff0c;不起作用。 注册步骤如下&#xff1a; 1、准备要注册的DLL文件到指定目录 2、新建一个BAT文件&#xff0c;写入注册命令 3、右键已管理员身份运行注…

怎样在计算机上注册dll文件,注册dll文件【搞定步骤】

喜欢使用电脑的小伙伴们一般都会遇到win7系统注册dll文件的问题&#xff0c;突然遇到win7系统注册dll文件的问题就不知道该怎么办了&#xff0c;其实win7系统注册dll文件的解决方法非常简单&#xff0c;按照 1&#xff1a;在电脑桌面上&#xff0c;依次选中菜单项开始--运行&am…

C#【必备技能篇】注册dll+批量注册dll

文章目录 问题描述&#xff1a;一、注册单个dll&#xff1a;1、把相应的dll放置到System32&#xff08;32位&#xff09;和SysWOW64中2、以管理员身份打开“命令提示符”3、输入cmd指令完成注册4、把相关的dll放置到项目输出路径下&#xff0c;即可成功引用 二、批量注册dll1、…

photoshop cc 2018破解补丁(pscc2018注册机) 附使用方法

1、下载破解程序 破解文件自行到 http://www.ddooo.com/softdown/109954.htm 下载 博主可以到本博客的文件--》pscc2018zcj_109954.rar下载 2、破解 打开Amtemu.exe 第一个下拉框选择 adobe photoshop cc 2015 没错&#xff0c;就是2015 。。2015可以破解2018的 然后点击…

安装ADOBE全系列软件的步骤

第一步&#xff1a;下载Adobe Creative Cloud 这款应用里几乎囊括了Adobe旗下的所有软件&#xff0c;也就是说有了这个应用&#xff0c;以后下载Adobe的任意一款软件&#xff0c;完全不用再去百度搜索下载地址了&#xff0c;更不用担心来源不正有病毒啥的&#xff0c;只要你的电…

Adobe Audition CS6

Adobe Audition CS6是一款功能强大、效果出色的多轨录音和音频处理软件&#xff0c;可在普通声卡上同时处理多达64轨的音频信号&#xff0c;并且最多支持混合128个声道&#xff0c;创建回路并使用45种以上的数字信号处理效果&#xff0c;具有极其丰富的音频处理效果。而且Audit…

Adobe Lightroom For Mac安装使用教程

软件介绍 Adobe Photoshop Lightroom是Adobe 研发的一款以后期制作为重点的图形工具软件&#xff0c;是当今数字拍摄工作流程中不可或缺的一部分。其增强的校正工具、强大的组织功能以及灵活的打印选项可以帮助您加快图片后期处理速度&#xff0c;将更多的时间投入拍摄。 安装…

Adobe Acrobat DC 2015 for Mac

作为世界上优秀的桌面版 PDF 解决方案的后继之作&#xff0c;焕然一新的 Acrobat DC 将彻底超乎您的想象。Adobe Acrobat DC 2015 for Mac 是一款值得信赖的 PDF 创建程序&#xff0c;可使您的工作变得更轻松。使用 Acrobat 对 PDF 文件进行转换、编辑和签名&#xff0c;无论您…