Mybatis最入门---ResultMaps基本用法
来源:互联网 发布:淘宝店没生意怎么办 编辑:程序博客网 时间:2024/05/21 05:59
1.首先,我们先来看看基本的映射语句,如下:
2.对应的属性resultType="map",需要在mapper文件中加入如下内容 view plain copy
<resultMap id="userResultMap" type="User"> <id property="id" column="id" /> <result property="password" column="password"/> </resultMap>
解释如下:
外层“id”属性:即sql语句用引用的标识,其值需要在该文件中具有唯一性。
外层“type”属性:即结果返回的目标对象(user),这里需要定义为一个全路径标识的对象,或者使用别名的对象。
内层“id”标签:即当前结果集合的主键。
内层“property”属性:即当前结果返回的目标对象的属性(user中的属性)。
内层“column”属性:即在数据库中对应的列名。
除此之外,我们在前文中还提到内层可以使用的属性有
“javaType”:一个 Java 类的完全限定名,或一个类型别名(参考上面内建类型别名 的列表) 。如果你映射到一个 JavaBean,MyBatis 通常可以断定类型。 然而,如果你映射到的是 HashMap,那么你应该明确地指定 javaType 来保证所需的行为。
“jdbcType”:在这个表格之后的所支持的 JDBC 类型列表中的类型。JDBC 类型是仅 仅需要对插入,更新和删除操作可能为空的列进行处理。这是 JDBC jdbcType 的需要,而不是 MyBatis 的。如果你直接使用 JDBC 编程,你需要指定 这个类型-但仅仅对可能为空的值。
“typeHandler”:我们在前面讨论过默认的类型处理器。使用这个属性,你可以覆盖默 认的类型处理器。这个属性值是类的完全限定名或者是一个类型处理 器的实现,或者是类型别名。
MyBatis ,支持下面的 JDBC 类型。
BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINYINTREALVARCHARBINARYBLOGNVARCHARSMALLINTDOUBLELONGVARCHARVARBINARYCLOBNCHARINTEGERNUMERICDATELONGVARBINARYBOOLEANNCLOBBIGINTDECIMALTIMENULLCURSORARRAY3.对应的User对象为如下内容:
[java] view plain copypackage com.csdn.ingo.entity; import java.io.Serializable; /** *@author 作者 E-mail:ingo *@version 创建时间:2016年4月17日下午6:25:27 *类说明 */ @SuppressWarnings("serial") public class User implements Serializable{ private String id; private String password; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public User(String id, String password) { super(); this.id = id; this.password = password; } public User() { super(); // TODO Auto-generated constructor stub } }
4.在某些情况下,我们没有使用resultmap,并且数据库中的列名与java对象的属性名不是一一对应的,就需要采用如下的方法,进行匹配。具体写法如下:
<select id="selectUsers" resultType="User"> select user_id as "id", user_password as "password" from sysuser where id = #{id} </select>
-总结一下:
假如,我们的查询都是如此简单,世界该多么美好!!!
-
- Mybatis最入门---ResultMaps基本用法
- Mybatis最入门---ResultMaps基本用法
- Mybatis最入门---ResultMaps基本用法
- Mybatis最入门---ResultMaps高级用法(上)
- Mybatis最入门---ResultMaps高级用法(下)
- Mybatis最入门---ResultMaps高级用法(上)
- Mybatis最入门---ResultMaps高级用法(上)
- Mybatis最入门---ResultMaps高级用法(下)
- Mybatis最入门---ResultMaps实例篇(一对一查询)
- Mybatis最入门---ResultMaps实例篇(一对多查询)
- Mybatis最入门---ResultMaps实例篇(一对一查询)
- Mybatis最入门---ResultMaps实例篇(一对多查询)
- mybatis 学习--mybatis基本用法入门
- MyBatis的ResultMaps
- Mybatis最入门---基本增改删查(CRUD)
- Mybatis最入门---基本增改删查(CRUD)
- MyBatis的ResultMaps之一对一关系
- MyBatis的ResultMaps之一对多关系
- webapck 利用HtmlWebpackPlugin 替换html的title
- 自定义View中,四个参数的构造函数,其最后两个参数的含义
- 我的ACM之路 7-25(字符串)
- 网站注册登录等短信验证码
- 论坛和资料收集
- Mybatis最入门---ResultMaps基本用法
- git常用指令
- 资料: 颜色RGB基础定义
- _OBJC_CLASS_$_WXApi", referenced from
- 全局属性
- Uboot到底如何启动内核
- Spring整合ActiveMQ
- 关于Android开发不能调起微信分享可能原因
- javax.naming.NameAlreadyBoundException 名称已被绑定异常