mybatis官网参考文档-MapperXML_select(版本: 3.4.6-SNAPSHOT)
来源:互联网 发布:mac版lol美服改国服 编辑:程序博客网 时间:2024/05/18 02:04
Mapper XML 文件
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好。
SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序):
- cache – 给定命名空间的缓存配置。
- cache-ref – 其他命名空间缓存配置的引用。
- resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。
parameterMap– 已废弃!老式风格的参数映射。内联参数是首选,这个元素可能在将来被移除,这里不会记录。- sql – 可被其他语句引用的可重用语句块。
- insert – 映射插入语句
- update – 映射更新语句
- delete – 映射删除语句
- select – 映射查询语句
下一部分将从语句本身开始来描述每个元素的细节。
select
查询语句是 MyBatis 中最常用的元素之一,光能把数据存到数据库中价值并不大,如果还能重新取出来才有用,多数应用也都是查询比修改要频繁。对每个插入、更新或删除操作,通常对应多个查询操作。这是 MyBatis 的基本原则之一,也是将焦点和努力放到查询和结果映射的原因。简单查询的 select 元素是非常简单的。比如:
<select id="selectPerson" parameterType="int" resultType="hashmap"> SELECT * FROM PERSON WHERE ID = #{id}</select>
这个语句被称作 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值便是结果行中的对应值。
注意参数符号:
#{id}
这就告诉 MyBatis 创建一个预处理语句参数,通过 JDBC,这样的一个参数在 SQL 中会由一个“?”来标识,并被传递到一个新的预处理语句中,就像这样:
// Similar JDBC code, NOT MyBatis…String selectPerson = "SELECT * FROM PERSON WHERE ID=?";PreparedStatement ps = conn.prepareStatement(selectPerson);ps.setInt(1,id);
当然,这需要很多单独的 JDBC 的代码来提取结果并将它们映射到对象实例中,这就是 MyBatis 节省你时间的地方。我们需要深入了解参数和结果映射,细节部分我们下面来了解。
select 元素有很多属性允许你配置,来决定每条语句的作用细节。
<select id="selectPerson" parameterType="int" parameterMap="deprecated" resultType="hashmap" resultMap="personResultMap" flushCache="false" useCache="true" timeout="10000" fetchSize="256" statementType="PREPARED" resultSetType="FORWARD_ONLY">
阅读全文
0 0
- mybatis官网参考文档-MapperXML_select(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-入门(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_properties(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_settings(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_typeAliases(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_typeHandlers(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_对象工厂(objectFactory)(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_插件(plugins)(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_配置环境(environments)(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_databaseIdProvider(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-XML配置_映射器(mappers)(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-MapperXML_insert, update 和 delete(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-MapperXML_参数(Parameters)(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-MapperXML_Result Maps(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-MapperXML_自动映射(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-MapperXML_缓存(版本: 3.4.6-SNAPSHOT)
- mybatis官网参考文档-动态 SQL(版本: 3.4.6-SNAPSHOT)
- mybatis 参考文档
- CSS盒子模型
- CSS伸缩盒(旧)
- pat乙级考了55分。。。
- 小程序页面跳tabBar页面传参没有效果用缓存
- 结构体
- mybatis官网参考文档-MapperXML_select(版本: 3.4.6-SNAPSHOT)
- 171210之文件上传下载功能实现
- mybatis官网参考文档-MapperXML_insert, update 和 delete(版本: 3.4.6-SNAPSHOT)
- 盘点2017年度AI领域大事件
- mybatis官网参考文档-MapperXML_参数(Parameters)(版本: 3.4.6-SNAPSHOT)
- 我与机器斗争过但失败了:与深蓝“人机大战”20年,卡斯帕罗夫TED演讲
- 《2017中国大数据及AI人才发展报告》均薪38万,招聘猛增6倍
- 语音识别现状与工程师必备技能
- STL迭代器