(九)Mybatis下划线驼峰处理的几种方法

2023-10-27

这篇文章主要讲述Mybatis下划线驼峰处理的几种方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。


首先先说明一下为什么会出现这种情况
数据库当中有时候会起一些带下划线的列名,例如:last_Name,而javabean当中一般遇下划线都是驼峰显示的。一般起名称都是这样 lastName,这时候就会出现一个问题,就是封装不到javabean里面值。就是因为数据库列名和javabean名称不一致而封装不上。

在这里插入图片描述
java对象

在这里插入图片描述
查出来会发现赋值不上去

Employee [id=1, lastName=null, email=1, gender=1]

这时候有人该说了,我javabean当中也用last_name不上也可以呀。
答案:可以,但是Java中一般是final变量才用大写字母+下划线命名。

1、可以通过写别名

在针对于对象属性多的情况下就不实用了。写起来可能因为这一个名称,全得把列名写出来。

<select id="getEmpById" resultType="com.gzl.mybatis.bean.Employee">
	select id as id,last_Name as lastName,email as email,gender as gender from student where id = #{id}
</select>

2、开启驼峰命名

在mybatis-config-xml添加以下配置,切记xml是有顺序要求的,如果xml当中用到了properties标签,就放在这个标签下面,如果没有就放在最上面。

<settings>
		<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

3、自定义javabean的封装规则

<!--自定义某个javaBean的封装规则
	type:自定义规则的Java类型
	id:唯一id方便引用
	  -->
	<resultMap type="com.gzl.mybatis.bean.Employee" id="MySimpleEmp">
		<!--指定主键列的封装规则
		id定义主键会底层有优化;
		column:指定哪一列
		property:指定对应的javaBean属性
		  -->
		<id column="id" property="id"/>
		<!-- 定义普通列封装规则 -->
		<result column="last_name" property="lastName"/>
		<!-- 其他不指定的列会自动封装:我们只要写resultMap就把全部的映射规则都写上。 -->
		<result column="email" property="email"/>
		<result column="gender" property="gender"/>
	</resultMap>
 	
 	<select id="getEmpById" resultMap="MySimpleEmp">
		select * from student where id = #{id}
	</select>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(九)Mybatis下划线驼峰处理的几种方法 的相关文章

  • Logback 上下文选择器的实际使用

    Logback 的文档测井分离 http logback qos ch manual loggingSeparation html表明我可以使用上下文选择器 http logback qos ch manual contextSelecto
  • 通过 WebStart 运行时 Java 7 更新 55 JacORB 错误

    自从更新到 Java 7 update 55 以来 我无法运行我的 WebStart java 应用程序 当通过 WebStart 启动时 该应用程序在 Java 7 update 51 下运行良好 当在 WebStart 之外启动时 它还
  • Java 1.4 上的 ActiveMQ 客户端

    我们在最新版本 5 6 0 中使用 Active MQ 现在我们遇到一个问题 必须连接一个新客户端 不幸的是这个客户端是用IBM JDK 1 4开发的 将 ActiveMQ 添加到应用程序会导致以下错误 UNEXPECTED ERROR O
  • 将 GAE/J 上的 pdfjet 生成的 PDF 文件上传到 Google Docs

    我需要将 PDF 文件上传到用户谷歌文档 该文件是由谷歌应用引擎上的 pdfjet 生成的 我想出使用 pdfjet for gae j 生成 pdf pdfjet 使用流来创建 pdf 无论如何 是否可以将流转换为文件 以便我可以上传给用
  • 如何在Android中将文件转换为base64(如.pdf、.text)?

    如何将 SD 卡文档 pdf txt 转换为 Base 64 字符串并将字符串发送到服务器 这个方法对我有用 String encodeFileToBase64Binary encodeFileToBase64Binary yourFile
  • setSize() 不起作用?

    我有一个程序 需要两个按钮 一个是常规按钮 另一个具有根据鼠标悬停而变化的图片 目前 由于图片很大 JButton自定义也很大 我可以更改自定义的大小并保持图像 和翻转图像 成比例吗 我尝试过 setSize 但它没有任何作用 对于任何反馈
  • 如何生成源代码来创建我正在调试的对象?

    我的典型场景 我处理的遗留代码有一个错误 只有生产中的客户端才会遇到 我附加了一个调试器并找出如何重现该问题their系统给定their输入 但是 我还不知道为什么会发生错误 现在我想在本地系统上编写一个自动化测试来尝试重现然后修复错误 最
  • 无法解析 Java 中的方法

    我有一个Question具有 4 个的对象Answer里面的物体 在 Question java 我有一个方法是 public Answer getA return a 在另一种方法中我有 if questions get randomNu
  • 将 hyperjaxb3 升级到 jpa 2.1

    我正在尝试在使用 maven jpa hibernate 和 hyperjaxb 的 eclipse 项目中升级到 JPA 2 1 当我尝试执行以下操作时出现以下错误Run As Run on Server从日食内部 java lang N
  • Java中单击和双击的区别

    我搜索论坛并看到以下代码 public void mouseClicked MouseEvent e if e getClickCount 2 System out println and it s a double click wasDo
  • Android 上 WebRTC 的自定义视频源

    Overview 我想使用自定义视频源通过 WebRTC Android 实现来直播视频 如果我理解正确的话 现有的实现仅支持 Android 手机上的前置和后置摄像头 以下类与此场景相关 Camera1Enumerator java ht
  • Struts ActionForm 属性应该是什么类型?

    我使用 Struts 1 2 4 继承了这个巨大的遗留 Java Web 应用程序 我有一个关于 ActionForms 的具体问题 其中一些仅具有字符串属性 即使对于数字 其中一些使用看似合适的类型 整数 日期 字符串等 这里的最佳实践是
  • 由于 maven-surefire-plugin,Maven 构建失败

    我这里有类似的问题eclipse 中缺少 maven surefire plugin https stackoverflow com questions 23588957 maven surefire plugin missing in e
  • 如何将 java ArrayList 转换为等效的 double[] [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Java 中从 List 转换为 double https stackoverflow com questions 6018267 how to cast from listdouble to
  • json文件格式的升级路径

    我们将 Java 应用程序的用户首选项存储在 JSON 文件中 使用Jackson http jackson codehaus org 随着我们继续开发该应用程序 我们将添加首选项 重命名首选项并删除过时的首选项 当用户将应用程序升级到下一
  • 在 Spring Boot 异常处理期间保留自定义 MDC 属性

    简短版本 有足够的细节 如何保留添加在MDC中的属性doFilter 的方法javax servlet Filter执行 public void doFilter ServletRequest request ServletResponse
  • 如何制作一个向用户显示图像而不是文本的下拉列表?

    ObjectChoiceField 字段满足我的所有要求 但它并不漂亮 这就是我所拥有的 String pets Dog Cat Duck ObjectChoiceField dd new ObjectChoiceField My Pet
  • 如何在 jax-ws 客户端中隐藏(可能)由 jax-ws 库引起的警告

    我正在使用 netbeans 在我的应用程序中生成 Web 服务客户端 我的程序使用 jax ws 库来设置调用 Web 服务的超时 出现问题是因为每当我启动这个程序时它都会生成很多这样的警告消息 2010 年 12 月 13 日下午 4
  • Java编译错误:包不存在

    在我的工作区 wsPrivate 中 我有 3 个 gradle 项目 刽子手 像素视图 Reports PixelView 和 Reports 项目编译良好 然而 Hangman 使用这两个项目 并且有些在编译时找不到包 请参阅以下错误
  • 有没有办法让 SonarQube 只警告不完整的 Switch 语句?

    使用 Java SonarQube 抱怨枚举值上的 switch 语句没有default case 给出的推理是 最终默认条款的要求是防御性编程 该条款应采取适当的行动 或包含 关于为什么不采取行动的适当评论 当开关盖上时 枚举的所有当前值

随机推荐

  • Uva 540 Team Queue

    有t个团体的人正在排一个长队 每次新来一个人时 如果这个成员所在的团体已经有人在排队了 那么他就加到最后一个队友身后 如果整个大队列中没有他的团体 那么他就要排在整个大队列的最后 输入每个团队的人数 每个人的编号 要求支持下面的操作 前两种
  • 【订单服务】库存解锁和关单

    消息队列流程图 监听库存解锁 下单成功 库存锁定成功 接下来的业务调用失败 导致订单回滚 之前锁定的库存就要自动解锁 配置队列和交换机 Configuration public class MyRabbitConfig 使用json序列化机
  • 失业在家靠做PPT日赚800-1000元,有一门副业真的很重要!

    下班做PPT 半年挣8万是什么感觉 你好 我是佳佳 一个用PPT兼职挣钱的宝妈 我现在每天抽2个小时 坐在电脑前 把各种素材像拼图一样拼接一下 像这样 然后把成稿投稿到设计平台 就能挣到钱 你是不是觉得 我是个职业设计师 挺厉害的 不是的
  • NLP(十五)让模型来告诉你文本中的时间

    背景介绍 在文章NLP入门 十一 从文本中提取时间 中 笔者演示了如何利用分词 词性标注的方法从文本中获取时间 当时的想法比较简单快捷 只是利用了词性标注这个功能而已 因此 在某些地方 时间的识别效果并不太好 比如以下的两个例子 原文1 苏
  • python递归实现字符串逆反

    def main string input Enter a string string1 reverse string print string s reverse format is string1 def reverse string
  • YOLOV7学习记录之训练过程

    在前面学习YOLOV7的过程中 我们已经学习了其网络结构 然而实际上YOLOV7项目的难点并不在于其网络模型而是在于其损失函数的设计 即如何才能训练出来合适的bbox 神经网络模型都有训练和测试 推理 过程 在YOLOV7的训练过程中 包含
  • Java学习笔记:Java中的加号“+”

    在今晚学习Java时惊奇地发现Java中有 System out println 赋值后c的值为 c 这样的与c语言不同的语法 本着打破砂锅问到底 xue dao si 的精神 稍微整理了一下 下面是整理出来的Java中加号 的用法 算术运
  • mysql字段使用非int做主键,查询时候使用整型和字符串做查询条件的区别

    where条件key是整型的时候也可以找到记录 但是效率慢 不会使用索引 使用字符串的时候会使用主键索引会很快
  • ionic入门教程第十五课-ionic性能优化之图片延时加载

    周五的时候有个朋友让我写一个关于图片延时加载的教程 直到今天才有空编辑 这阶段真的是很忙 公众号都变成僵尸号了 实在是对不起大家 有人喜欢我的教程 可能我总习惯了用比较简单容易理解的方式去描述这些东西 别的就不多说了 大家遇到什么问题 可以
  • 100天精通Python(基础篇)——第23天:while循环 :99乘法表

    i 0 while i lt 10 print 我喜欢你 i 1 print endl i 0 sum 0 while i lt 101 i 1 sum i print f sum sum import random num random
  • django1.10 静态文件配置

    settings配置 网站引用静态文件时都会加上该地址 如 http www xxx com static css mini css STATIC URL static 静态文件根目录 执行命令 python manage py colle
  • PostgreSQL 服务启动不了问题

    配置了postgresql数据的配置文件 pg hba conf后 重记一下服务 结果启动不了 提 示错误 root instance 609xznso run systemctl start postgresql 11 Job for p
  • C++11 function、bind、可变参数模板

    在设计回调函数的时候 无可避免地会接触到可回调对象 在C 11中 提供了std function和 std bind两个方法来对可回调对象进行统一和封装 C 语言中有几种可调用对象 函数 函数指针 lambda表达式 bind创建的对象以及
  • Hibernate的加载方式——GET与LOAD的对比

    在Hibernate框架中 最常用到的加载方式就非Get和Load莫属了 然而Get和Load在加载方式上边还有很多的不同 下面让我们来分析一下他们的不同之处 区别 从返回的结果上来看 get load在检索到数据的时候 会返回对象 代理对
  • firefox火狐书签windows和ubuntu无法同步问题

    装了ubuntu后发现firefox的书签没法同步 最终发现问题的原因 firefox有个全球服务和本地服务 ubuntu下的firefox默认是全球服务的 而windows下的firefox默认是本地服务的 这样相当于两个系统下默认的存储
  • 【生信】初探基因定位和全基因组关联分析

    初探QTL和GWAS 文章目录 初探QTL和GWAS 实验目的 实验内容 实验题目 第一题 玉米MAGIC群体的QTL分析 第二题 TASSEL自带数据集的关联分析 实验过程 玉米MAGIC群体的QTL分析 包含的数据 绘制LOD曲线 株高
  • PyTorch训练深度卷积生成对抗网络DCGAN

    文章目录 DCGAN介绍 代码 结果 参考 DCGAN介绍 将CNN和GAN结合起来 把监督学习和无监督学习结合起来 具体解释可以参见 深度卷积对抗生成网络 DCGAN DCGAN的生成器结构 图片来源 https arxiv org ab
  • PCA(主成分分析方法)

    目录 1 降维问题 2 向量与基变换 2 1 内积与投影 2 2 基 2 3 基变换的矩阵 3 协方差矩阵及优化目标 3 1 方差 3 2 协方差 3 3 协方差矩阵 3 4 协方差矩阵对角化 4 算法与实例 4 1 PCA算法 4 2 实
  • postgres数据库进行备份和恢复

    参考 http blog chinaunix net uid 354915 id 3504632 html root localhost postgres 9 3 5 pg dump help pg dump dumps a databas
  • (九)Mybatis下划线驼峰处理的几种方法

    这篇文章主要讲述Mybatis下划线驼峰处理的几种方法 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 目录 1 可以通过写别名 2 开启驼峰命名 3 自定义javabean的封装规则 首先先说明一下为