【Spring+MyBatis+MySQL实战入门】二、MyBatis和MyBatis Generator的配置

后台学习一---spring+maven+mybatis+mysql+junit整合 1.工具/原料• apache-tomcat-7.0.63 http://download.youkuaiyun.com/detail/lxfhahaha/9778163 • apache-maven-3.3.3 http://download.youkuaiyun.com/detail/lxfhahaha/9778158 • MySQL Server 5.0 http://download.csdn.ne 阅读详情

本系列文章系本人原创,欢迎转载,转载请注明出处

一、MyBatis配置的基本介绍

在第一章中,我们快速的建立了一个Java通过MyBatis操作数据库的简单的项目(源码)。在建立这个项目的过程中,除了测试类,我们并没有写一行Java代码,而把所有精力都放在了做配置上。那么,为了使MyBatis能正常工作,我们需要做哪些配置呢?

问题的答案很简单,我们不需要查阅任何资料,就可以自己“揣摩”出来:
a. Java Model: 数据库是存储数据的,这些数据在Java中的展现形式是我们需要定义的。最简单的例子,User(id, name, contact_info)表,在Java中就对应成一个User类,该类有id,name和contactInfo成员变量。

b. Java的DAO接口/类:MyBatis是为了Java能方便的操作数据库,所以,我们必须写或配置出相应的DAO接口/类来方便Java调用。

c. SQL语句和DAO接口中方法的对应关系:DAO提供了让Java能操作数据库的接口(Java方法),那么这些接口实际上执行的就是SQL语句。我们需要将这种Java方法到SQL语句的映射关系配置好,比如说:DAO中有个insert(User user)方法,它应该对应到一个形如 “insert into User (id, name, contact_info) values (?,?,?)”的SQL语句,这种映射关系是我们需要记录的。

d. MyBatis连接数据库使用的配置:这个就很显而易见了,我们需要连接数据库的配置(connectionUrl, userId, password等),才能让MyBatis正确的链接数据库。

可以说,我们在使用MyBatis的过程中,这4项是最基本的配置,也是不可或缺的。大家可以先对这4项有个认识,我们会在接下来的章节中着重介绍这4项。下面我们先看一下能大大简化我们对这4项做配置的工具:MyBatis Generator。

二、MyBatis Generator的使用

如果我们有100张表,对每个表又有增删改查及其他操作,是不是我们就要手动建100个Java Model,100个DAO,每个DAO里面再写诸多方法呢?答案是否定的,MyBatis Generator大大简化了我们的操作。回顾在第一章中MyBatis Generator的配置文件,我们着重看下面这几项:

<javaModelGenerator targetPackage="com.example.model" targetProject="smm/src/main/java" />
<sqlMapGenerator targetPackage="mapper" targetProject="smm/src/main/resources" />
<javaClientGenerator targetPackage="com.example.mapper" targetProject="smm/src/main/java" type="XMLMAPPER" />
<table schema="smm" tableName="user">
    <generatedKey column="id" sqlStatement="MySql" identity="true" />
</table>
<table schema="smm" tableName="cart">
    <generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
<table schema="smm" tableName="product">
    <generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>

我们要用MyBatis Generator生成上述4项配置中的3项:Java Model,DAO以及DAO到Sql的映射关系。

  • 我们先看Java Model:
<javaModelGenerator targetPackage="com.example.model" targetProject="smm/src/main/java" />

<!--其他的配置此处省略-->

<table schema="smm" tableName="user">
    <generatedKey column="id" sqlStatement="MySql" identity="true" />
</table>
<table schema="smm" tableName="cart">
    <generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
<table schema="smm" tableName="product">
    <generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>

在javaModelGenerator中,我们指定了生成Java Model的存放位置是smm/src/main/java目录,com.example.model包下。结合下面的几个table元素,我们会生成User表,Product表和Cart表对应的Java Model。而table元素下的generatedKey元素则告诉MyBatis Generator该table的 “id”列是MySql自动生成的,并且是该表的主键,这样当我们将一个新建的User对象插入到数据库中后,Java中就能获得到MySql自动生成的id。

  • 接下来是sqlMapGenerator
<sqlMapGenerator targetPackage="mapper" targetProject="smm/src/main/resources" />

sqlMapGenerator指定了DAO到Sql语句的映射关系保存在smm/src/main/resources目录,mapper包下(实际上因为是resources目录,而“包”是Java的概念,所以也即保存在smm/src/main/resources/mapper目录下)。

  • 最后我们看javaClientGenerator
<javaClientGenerator targetPackage="com.example.mapper" targetProject="smm/src/main/java" type="XMLMAPPER" />

javaClientGenerator指定了DAO(MyBatis中叫Mapper)的生成位置:smm/src/main/java目录,com.example.mapper包下,并且是XMLMAPPER的形式。XMLMAPPER代表Mapper会生成为接口,并且接口中方法的实现会依赖于sqlMapperGenerator指定生成的配置文件中。
有兴趣的读者可以尝试将type属性的值替换为“ANNOTATEDMAPPER”,并看看效果(接口方法所对应的sql语句以注解的形式存在在Java文件中)。

至此,我们简单的介绍了MyBatis Generator是用做什么的,它生成的文件是用做什么的,以及MyBatis Generator是如何工作的。如果读者有兴趣对MyBatis Generator做深入了解的话,可以参阅MyBatis Generator的官方文档。

手把手教你如何玩转插件:通用Mapper和Mybatis generator 情景引入:小白:起床起床了,,,,太阳都晒屁股了。我:好不容易有个睡懒觉的机会,你又把我吵起来干嘛呢?不能给我放一个假吗?小白:不可以不可以,我又遇到了一个问题,我需要你的帮忙,你赶紧帮我想想办法呗。我:又怎么了?你怎么有这么多的问题呢?这次又是什么呢?小白:就是,就是,平常在用mybatis框架的时候,老是遇到很多的增删改查的方法,每次都要重复性的写一些重复性的代码,我觉得这个好麻烦。我:对呀,... 阅读详情

相关推荐

Spring Boot 集成 Mybatis Generator 生成代码

Spring Boot 是目前最流行的 Java Web 框架之一。Mybatis Generator 是 MyBatis 官方提供的用于生成 mapper 和 SQL XML 的工具。通过此工具可以快速、自动地生成 mapper 文件和 SQL XML 文件。本文将结合 Spring Boot 使用案例,展示如何利用 Spring Boot 在项目中集成 Mybatis Generator 生成代码。

AI天才研究院 1462

mysql generatedkey_Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查...

今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回此数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是1,而不是最新的自增Id。终于凭借着一次Debugg发现的问题,原来在使用Mabatis中的insert或者insertSelective方式插入时,如使用int insert(TestGenKey...

weixin_36090062的博客 1548

ADS实战指南:负载牵引(Loadpull)在射频功放设计中的关键应用

本文深入解析了负载牵引(Loadpull)技术在射频功率放大器设计中的核心作用与实战方法。通过生动的比喻和详细的ADS软件操作指南,阐述了如何通过系统扫描负载阻抗,在史密斯圆图上绘制等功率线与等效率线,从而精准找到最优阻抗点,以平衡输出功率与效率,是应对5G等现代通信系统严苛要求的必备技能。

weixin_29198045的博客 600

Mybatis Generator最完整配置详解

PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">     resource:配置资源加载地址,使用resource,MBG从classpath开始找,比如com/myprojec

信 5749

第一章、isaacsim 及 isaaclab 安装教程

本专栏所有内容将根据上述资源地址展开,请结合食用~

m0_47719040的博客 4777

OMNeT++入门指南:从tictoc1到tictoc18的实例解析与实战演练

本文是OMNeT++网络仿真框架的入门实战指南,详细解析了从tictoc1到tictoc18的经典示例。内容涵盖OMNeT++的下载安装、核心三文件(.ned, .cc, .ini)的编写、模块化建模、自定义消息、数据统计与可视化,以及参数化批量仿真等核心技能,帮助读者从零开始掌握这一强大的网络仿真工具。

weixin_29228781的博客 327

mysql usegeneratedkeys_Mybatis Generator insert useGeneratedKeys keyProperty

Mybatis自动生成代码,需要用到mybatisGenerator,详见http://mybatis.github.io/generator/configreference/generatedKey.htmlinsert语句如果要返回自动生成的key值,一般会在insert里加入useGeneratedKeys属性,例如insert into subtasks (SID, TID, RID, S...

weixin_39916360的博客 532

用友U8接口开发全攻略:从EAI到OpenAPI的5种方式详解(附避坑指南)

本文深度解析了用友U8系统接口开发的五种核心方式:EAI、API、OpenAPI、SQL直连与内部CO组件。文章详细对比了各方式的适用场景、优缺点及实战操作,并提供了清晰的选型决策框架与避坑指南,帮助开发者根据具体业务需求选择最高效、最稳定的集成路径。

weixin_29322855的博客 680

MyBatis Generator完整配置

1、完整配置 这一部分参考 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-g...

weixin_40971059的博客 297

5QI(5G QoS Identifier)

此外,5QI与网络切片(Network Slicing)密切相关,网络切片允许网络运营商在物理网络内部创建虚拟网络,为不同的客户和用例提供定制化服务和QoS。5QI(5G QoS Identifier)在5G网络中用于标识不同的服务质量要求,它允许网络对不同的数据流进行优先级划分和资源分配。:5QI的实施需要对5G网络的QoS参数有深入的理解,包括延迟、吞吐量、数据包丢失率等,这对技术人员提出了较高的要求。不是所有的5G设备都支持5QI的全部功能,这可能会限制5QI应用的广泛性。

记录有价值的内容 6528

MAPLAB X IDE仿真调试

一、开发环境 操作系统:Windows 10 调试工具:Pickit3 单片机型号:PIC24FJ32GA002 二、操作步骤 1、连接Pickit3仿真器于单片机对应的烧写口如图示: 2、点击调试项目进入调试模式,这时底下输出框显示"运行"代表成功进入调试模式。 3、选择断点,该IDE只支持两个断点,使用超过两个时,超过的断点亮灰色代表无效。设置好断点后需暂停然后再重新点击运行才能生效。可以看到在断点处有绿色光标。 ...

RealHero的博客 5082

MyBatis逆向工程generatorConfig配置文件的Table中generatedKey的作用

Mybatis逆向工程生成Entity,Mapper等文件,在有自增ID的时候,在generatorConfig.xml中对表的配置,都要加上一行 generatedKey,如下: <table tableName="DICTIONARY_SUMMARY" enableCountByExample="false" enableUpdateByExample="...

u013282737的博客 1万+

AI大模型API中转站选型指南:12项关键指标与实战评估

随着AI大模型技术的快速迭代,企业面临着一个核心挑战:如何在基础模型频繁更新的背景下,为业务系统选择稳定可靠的API中转服务?本文基于真实生产环境测试数据,从12个关键维度系统评估主流API中转站平台,帮助技术团队在模型快速演进的生态中做出科学选型决策。 1. API中转站的核心价值与业务场景 1.1 什么是API中转站 API中转站(API Gateway/Aggregator)是连接业务系统与多个大模型厂商的中间层服务。它通过统一的接口封装了不同厂商的API协议差异,为企业提供标准化的模型调用能力。在实

weixin_29056101的博客 442

mybatis-generator-gui-extension 实战:如何快速搭建 Spring Boot + MyBatis 项目并完成 CRUD 开发

还在手写 Mapper.xml、一遍遍敲重复的 CRUD 代码吗?**mybatis-generator-gui-extension** 是一款为 MyBatis Generator(MBG)量身打造的图形化代码生成工具,它把原本枯燥的 XML 配置全部搬到了可视化界面里,只需连上数据库、勾选几个选项,就能一键生成实体类、Example、Mapper 和 CRUD 方法,快速搭建 Spring B

gitblog_00213的博客 765

【Python机器学习】零基础掌握RFECV特征选择

通过应用算法,有效地识别了影响购买意愿的关键特征(浏览时长和点击数)和历史货币流通的主要因素(年代、人口和货币流通量)。这样的特征选择不仅提高了模型的解释能力,还可能用于电商推荐系统和历史研究的优化。优点总结,这种方法可以高效地找出对目标变量有最大影响的特征,进而可以用于各种实际应用场景,如电商推荐和历史研究。优点名称对应描述说明高解释性易于理解哪些特征最为重要泛化性能强通过交叉验证提高模型的稳健性应用场景多样可用于电商、金融、历史研究等多个领域。

Mr数据杨 1994

pscad IEEE标准系统搭建说明

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

从sql安装到mybatis-generator配置(2025版-保姆级教程)

本文介绍了mybatis-generator工具的使用,从mysql安装出发,pom环境搭建,生成代码,在介绍了其他网页在线工具,并对编程中需要注意的地方,如进行serialVersionUID等进行了总结。

hahaha_2568的博客 4176

STM32F407中文手册

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

Spring-generator快速入门与实战指南

Spring-generator快速入门与实战指南 项目介绍 Spring-generator是一款基于JavaFX 8设计的图形界面工具,专为简化Spring应用程序开发而生。它利用Apache FreeMarker引擎来生成各种Java代码文件,使开发者能够迅速将数据库表转换成想要的代码风格,如常见的三层架构模式。这款工具兼容所有遵循JDBC规范的数据库,并原生支持Oracle, SQL Se...

gitblog_00555的博客 756

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MyBatis Generator超级简单配置

本博客主要是想让大家快速搭建一个Mybatis Generator。用来生成我们需要的一些文件。 如果大家想深入理解。请参考:http://blog.youkuaiyun.com/isea533/article/details/42102297 我们不考虑配置mybatis ,Spring  , Spring MVC等环境。这里使用的maven项目和mysql数据库。 一、下载所需的包

haopangang的博客 614

Spring MVC整合MyBatis和MySQL

前段时间自己发布了一篇关于SpringMVC结合Redis的小实例,今天呢,想和大家分享一下自己最近使用Spring MVC结合MyBatis+MySQL的小实例,在这里先贴出一下自己在GitHub上共享的代码Demo,下面我会贴出一些核心的内容以及相关总结。GitHub上的Demo地址如下:https://github.com/williamjava/demo 1、准备工作 ...

逆流而上的龟 428

springCloud中如何整合mysql,mybatis,mybatis-generator,lombok的jar包

1.在pom.xml中引入mysql的jar包 步骤1:在pom.xml加入依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!--支持通过jdbc...

weixin_37077733的博客 2125

spring boot 整合MyBatis Generator自动生成动态sql代码

一、背景 最近使用mybatis时,看到一篇文章使用yml配置来简化MyBatis Generator默认使用的xml配置 就想着使用人家提供的MyBatis Generator去自动生成一些bean,动态mapper文件。 项目整合地址:https://github.com/xujiankang6/study/tree/main/spring-boot-researchhttps://github.com/xujiankang6/study/tree/main/spring-boot-researc

jiankang66的博客 3847

mybatis-generator-maven-plugin插件使用

该插件用于连接数据库自动生成Mybatis需要的代码 环境: springboot,idea,jdk8 搭建springboot项目: idea->file->new->Spring initialzr->next->进入配置:java Version选择8,其余可以默认,next->需要提那就的依赖(需要的功能),默认可以不添加。后续需要去pom.xml配置即可->next->finish。 进入项目,点击pom.xml,添加插件。(此处包括my

fglxhlw的博客 1万+

基于Spring MVC + Spring + MyBatis的【图书信息管理系统(二)】

资源下载:https://download.youkuaiyun.com/download/weixin_44893902/35123371 练习点设计:添加、删除、修改 一、语言和环境 实现语言:JAVA语言。 环境要求:MyEclipse/Eclipse + Tomcat + MySql。 使用技术:Jsp+Servlet+JavaBean或SpringMVC + Spring + Mybatis。 二、实现功能 为了方便学校对图书进行管理,开发一套BS结构的图书信息管理系统,主要功能如下: 首页默认.

杨明金的博客 7万+

使用IDEA创建一个spring+springMVC+MyBatis+JDBC+MySQL项目,并且添加Swagger2和Generator依赖.

IDEA创建一个spring+springMVC+MyBatis+JDBC+MySQL项目,并且添加Swagger2和Generator依赖. 注意:使用Generator的时候,必须保证数据库的连通性和数据库是否有表 1.首先,create new project,创建一个spring Initializr项目 2.然后点击下一步 3.添加依赖 4.打开application.proper...

贾教练的博客 908

【亲测免费】 MyBatis-Plus Generator UI 安装和配置指南

### 项目基础介绍 MyBatis-Plus Generator UI 是一个基于 MyBatis-Plus 的代码生成工具,通过交互式的 Web UI 界面,帮助开发者快速生成兼容 Spring Boot 和 MyBatis-Plus 框架的业务代码。生成的代码包括 Entity、Mapper、Mapper.xml、Service、Controller 等,极大地提高了开发效率。 ### 主...

gitblog_09602的博客 754

springboot+mybatis整合mybatis-generator过程中遇到的问题

1. Failed to execute goal org.mybatis.generator:mybatis-generator-maven-plugin:1.3.7:generate (default-cli) on project ch1.helloworld: Execution default-cli of goal org.mybatis.generator:mybatis-gener...

u011935772的专栏 2042
上一篇: 【Spring+MyBatis+MySQL实战入门】一、MyBatis操作入门
下一篇: 【Spring+MyBatis+MySQL实战入门】三、MyBatis的4个基本配置介绍
import_java_any
博客等级 码龄10年 15粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值