文档章节

博为峰JavaEE技术文章 ——MyBatis Mapper Select

博为峰教研组
 博为峰教研组
发布于 2017/01/19 21:00
字数 323
阅读 2
收藏 0

Mapper中包含很多映射元素,其中Select是最为常用的一种。因为数据库的增删改查,在通用项目中,查找的重要性和复杂性要大于其他三种。今天小博老师就带领大家一起学习下Select元素的一些注意事项。

我们先来看一个简单的查询语句:

<select id="selectCompany" parameterType="int" resultType="hashmap">   

SELECT * FROM COMPANY WHERE ID = #{id}

</select>

这个语句被称作 selectCompany, 使用一个 int (或 Integer) 类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值是列对应的值。

其中#{id}是一个参数,告诉 MyBatis 创建一个预处理语句的参数。如果使用JDBC,等价的SQL预处理语句如下:

String selectCompany= "SELECT * FROM COMPANY WHERE ID=?"; PreparedStatement ps = conn.prepareStatement(selectCompany); ps.setInt(1,id);

当然, 这需要大量代码获取结果并将它们映射到对象实例中,在Mybatis中,这些过程都自动帮你处理了,这就是Mybatis的强大之处。

 

select 元素有很多属性允许你配置,详细决定每条语句的作用。如:

<select   id="selectCompany"   parameterType="int"   parameterMap="deprecated"   resultType="hashmap"   resultMap="companyResultMap"   flushCache="false"   useCache="true"   timeout="10000"   fetchSize="256"   statementType="PREPARED"   resultSetType="FORWARD_ONLY">

 

相关属性说明见下图:

© 著作权归作者所有

博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
mybatis笔记1 基本的配置和操作

mybatis比较轻量,适合开发比较小型的或者业务比较复杂的系统; 相对于hibernate来说可以灵活的写sql,更灵活的处理遇到的业务逻辑; 可以说hibernate是pojo实体对db的orm映射,而mybatis是p...

小财
2014/03/03
80
0
使用spring时,HTTP Status 500 - Request processing failed; nested exception is java.lang.NullPointerException

ervlet.service() for servlet [spring] in context with path [/home_furniture] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with......

坚默不语hj
2017/05/28
2.9K
2
Spring SpringMvc 3.0 + MyBatis 整合

原来发表在csdn的,移动到oschian Spring SpringMvc 3.0 + MyBatis 整合 一、使用的jar包就不详细讲解了,下载了Mybatis 和 Spring 的jar包基本上都添加上去了、 一图概括:(这是我使用的ar包...

王庭
2015/09/19
1K
3
图解 & 深入浅出 JavaWeb:Servlet 再说几句

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket 上一篇的《 Servlet必会必知 》受到大家一致好评 — (感谢 读者 及 OSC 推荐...

泥沙砖瓦浆木匠
2015/09/03
3K
13
图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket “眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹...

泥沙砖瓦浆木匠
2015/08/21
7.4K
50

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
681
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
39
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
25
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
72
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
71
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部