JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

<SQL>元素:

简单介绍:

<SQL>元素的主要作用是定义重复的SQL语句,它可以被包含在其他语句中,<SQL>语句可以被静态的(在加载参数时)参数化,<SQL>元素不同的属性值通过被包含的对象发生变化。

使用方法:

定义SQL语句片段:

<sql id=”sql片段唯一标识“ >SQL语句 />

使用SQL语句片段:

<include refid=”sql片段唯一标识” />

代码实现:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

除了直接使用<sql>片段,在<sql>片段中也可以引用另一个<sql>片段:

 JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

 使用<sql>片段也可以完成套娃操作,但是<sql>元素的主要作用还是将重复的sql语句提取出来,方便我们的减少重复代码的编写。

<resultMap>:自定义映射规则

简单介绍:

使用MyBatis可以自动帮我们把查询结果和POJO实体类映射在一起,是因为我们在创建数据表和实体类的时候遵守了一定的规则,即数据库的字段名和POJO的属性名是相同的,这样MyBatis才知道数据的对应方法,但是在很多时候,数据库的命名方法是不一样的,比如在使用数据库的时候,我们喜欢使用下划线连接两个单词,而在我们的Java中,我们习惯使用驼峰命名法。而且当数据表的创建者和Java实体类的创建者不是一个人,这样命名就会有更大的区别,当这种时候,MyBatis是无法帮我们进行自动映射的,这时候就需要我们手动进行配置

使用方法:

定义自定义映射规则:

<resultMap resultMap=“映射的实体类类名” id = “唯一标识”>

        <id property="实体类属性名“ column=”数据表字段名“ />

        <resalt properyu="实体类属性名“ column=”数据表字段名“ />

</resultMap>

使用自定义映射规则:
<select resultType="自定义映射规则唯一标识" id="SQL语句唯一标识">
    select * from user;
</select>

 就是将之前的resultType改成resultMap,并将resultMap的值从JOPO实体类改成自定义映射规则的唯一标识即可。

代码实现:

比如此时的数据表中有一个列名为phone_number,而我的POJO实体类中与之对应的属性为phoneNumber:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

此时如果直接运行代码自动映射肯定是不行的:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

 可以看到这里的数据是0,而我的是有数据的,此时就说明MyBatis并没有帮我们自动映射,需要我们自己手动进行配置:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

其中要保证蓝色框里面的内容一致,红色框中的column的值是POJO类中的属性,property的指就是数据表中的字段名。

保证自己的配置完成之后再次运行代码,如果配置正确的话,就可以正常的显示出数据库中的信息:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

驼峰映射:使用<setting>标签中的mapUnderscorecameLcase属性

因为驼峰命名和下划线命名比较常用,所以MyBatis可以单独为这种情况设置了一个简单的设置方法,就是在MyBatis的核心配置文件中使用我们之前提到过的<settings>属性:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

然后我们将之前的自定义映射的相关配置文件注释一下并且再次运行代码,试试这次能不能顺利的读取出数据:

JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

运行结果:

 JavaEE——MyBatis核心配置文件中的<SQL>和<resultMap>元素

可以看到这次我们同样的顺利读取到了数据,说明我们的配置是正确的!

需要注意的是所有的配置项注意拼写一定不要错误

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153319.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!