我们来继续研究 mybatis 框架sql映射文件的属性

‍我们来继续研究 mybatis 框架sql映射文件的属性

各位小伙伴

祝大家元旦快乐

开始我们今天的分享

我们已经了解了 mybatis 框架的两种使用方式以及主配置文件 (mybatis-config.xml) 的属性。那么今天我们来一起了解sql 映射文件 (userMapper.xml) 的属性。

parameterType 输入参数

1)简单类型的单个参数

我们来模拟一个需求:根据用户 id 查询用户信息

先在接口类 UserMapper.Java 中,添加一个接口。

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。

在测试类中测试一下。这个也没什么说的我们最近一直都在测试这些。

2)简单类型的多个参数

模拟需求:通过登录名和密码验证用户是否存在

先在接口类 UserMapper.Java 中,添加一个接口。这里需要添加两个参数

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。再添加两个参数的时候可以在大括号里填上 0 代表第一个参数,1 第二个参数以此类推。

在测试类中测试一下。

这是2个参数,要是参数再多点,我们这样一个个的标,很麻烦。这是就可以利用包装对象,直接传一个对象进去。

3)包装类对象作为输入参数进行查询

模拟需求:根据界面输入的用户名称或者登录名称来查询符合条件的用户列表。

先创建一个包装类,包装我们的 User 对象,这里就可以包装很多参数了。

在接口类 UserMapper.Java 中,添加一个接口。

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。

在测试类中测试一下。

再多的参数也不用怕了。

resultType/resultMap 对象

1)简单类型的输出例:Integer String Long 。

在接口类 UserMapper.Java 中,添加一个接口,查询用户总数。

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。

在测试类中测试一下。

2)对象的输出

我们之前做的都是对象输出,给大家简单的测试一下。

3)HashMap 的输出

在接口类 UserMapper.Java 中,添加一个接口。

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。

在测试类中测试一下。

这样看着不方便,我把它复制出来大家看一下结果。

3)resultMap 对象输出

这个是一个重点,假设我们的数据库命名和我们的 Java 属性命名是不一样的,这样我们就是映射不上,这个时候就需要手动设置一个 resultMap 来解决这个问题。

在接口类 UserMapper.Java 中,添加一个接口。

然后在对应的 UserMapper.xml 中,填写 sql 查询语句。

其中:

id 标签代表数据库表的主键

column 代表列名或者 sql 中的别名

property 代表 java 对象的属性名

在测试类中测试一下。

还是复制出来看一下。

这个resultMap很重要,大家多去试一下。至于有什么作用呢?我们之后会分享给大家的。

如果你想了解java,想学习java请关注微信公众号:java团长

今天的分享就到这里了

伙伴们

元旦快乐

拜拜

本文来自企鹅号 - 互联网科技变更媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏marsggbo

python编码问题

python编码问题 解决方法 python 编码 sys 在用python的时候经常会遇到编码乱码的问题,这时就需要用到sys模块。具体代码如下: impor...

1985
来自专栏L宝宝聊IT

Linux基础——正则表达式

813
来自专栏Jerry的SAP技术分享

Spring MVC能响应HTTP请求的原因?

一个Spring MVC的项目文件里,开发人员没有开发自己的Servlet,只通过注解@RequestMapping定义了方法home能响应发向 /mvc/te...

452
来自专栏Google Dart

Dart 服务端开发 shelf_bind 包

shelf_bind倾向于约定优于配置,因此您可以编写必要的最小代码,但仍然可以根据需要覆盖默认值。

672
来自专栏ml

java之如何实现调用启动一个可执行文件,exe

1 /* 2 * 运行可执行文件:.exe 3 * 当要执行一个本地机器上的可执行文件时, 4 * 可以使用java.lang包中的Runtime...

3015
来自专栏lgp20151222

$.ajax()方法参数详解

type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器...

491
来自专栏专注 Java 基础分享

Java EE基础之JSP(三)

     原来准备简单点,用一篇文章介绍完JSP的,没想到细节很多。这是第三篇也是最后一篇,这三篇文章介绍了基本的JSP知识,很多名词概念和用法,一定要在实践项...

1796
来自专栏JavaWeb

Spring源码-context:component-scan的解析过程

3646
来自专栏程序员互动联盟

【答疑释惑】标准C语言如何操作文件?

C语言中操作文件功能都用ANSI C提供的一组标准库函数来实现。文件操作标准库函数有如下: fprintf:往文件中写格式化数据 fscanf:格式化读取文件中...

3329
来自专栏龙渊阁测试精英

Jmeter(三十一)_dummy sampler模拟数据驱动

之前写过一篇数据驱动的文章 数据驱动测试 ,但是内容过于简单,有些关键的地方没有写明白。这两天参照了一下官方文档,重新整理了一篇数据驱动测试!

773

扫码关注云+社区