mybatis中的resultMap的使用
来源:互联网 发布:程序员代码面试指 pdf 编辑:程序博客网 时间:2024/06/09 19:55
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接
userinfo表
mybatis-config.xml
测试类
嵌套的resultMap下的user.xml配置
表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。
单个resultMap的使用
User表
user.java
package com.zwk.domain;/** * Created by zwk on 16-11-22. */public class User { private int id; private String password; private UserInfo userInfo; public int getId() { return id; } public void setId(int id) { this.id = id; } public UserInfo getUserInfo() { return userInfo; } public void setUserInfo(UserInfo userInfo) { this.userInfo = userInfo; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "id="+this.id+" password= "+this.password+" "+this.userInfo.toString(); }}
userinfo表
userinfo.java
package com.zwk.domain;/** * Created by zwk on 16-11-21. */public class UserInfo { private String id; private String name; private int age; private String address; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "id:"+this.id+" name:"+this.name+" age:"+this.age+" address:"+this.address; }}
user.xml
<resultMap id="UserResult" type="User"> <id property="id" column="id"/> <result property="password" column="password"/> <result property="userInfo.id" column="info_id"/> <result property="userInfo.name" column="name"/> <result property="userInfo.age" column="age"/> <result property="userInfo.address" column="address"/></resultMap><select id="findUserById" parameterType="String" resultMap="UserResult"> select * from test_userinfo i,test_user u where i.id=u.id and u.id=#{id}</select>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <typeAliases> <typeAlias type="com.zwk.domain.UserInfo" alias="UserInfo"/> <typeAlias type="com.zwk.domain.User" alias="User"/> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="jdbc"></transactionManager> <dataSource type="pooled"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/zwk_test?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false"/> <property name="username" value="xxx"/> <property name="password" value="xxx"/> </dataSource> </environment> </environments> <mappers> <mapper resource="com/zwk/domain/UserInfo.xml"/> <mapper resource="com/zwk/domain/User.xml"/> <mapper class="com.zwk.dao.UserInfoDAO"/> </mappers></configuration>
测试类
public class Test { public static void main(String args[]){ String resource="mybatis-config.xml"; InputStream is=Test.class.getClassLoader().getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(is); SqlSession session=sqlSessionFactory.openSession(); User user=session.selectOne("com.zwk.domain.UserMapper.findUserById",1); System.out.println(user); }}
嵌套的resultMap下的user.xml配置
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zwk.domain.UserMapper"> <resultMap id="UserResult" type="User"> <id property="id" column="id"/> <result property="password" column="password"/> <association property="userInfo" column="info_id" select="getUserInfoById"/> </resultMap> <select id="getUserInfoById" resultType="UserInfo"> select * from test_userinfo where id=#{id} </select> <select id="findUserById" parameterType="String" resultMap="UserResult"> select * from test_userinfo i,test_user u where i.id=u.id and u.id=#{id} </select></mapper>
0 0
- mybatis中的resultMap的使用
- Mybatis ResultMap的使用
- mybatis resultMap的使用
- mybatis的resultMap使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Mybatis的ResultMap的使用
- Thead 1 概述
- Codeforces 510D. Fox And Jumping By Assassin 暴力大法好
- matlab上使用libsvm
- 如何解决设计器无法选择授权问题
- node 登录拦截跳转,中间件使用和理解
- mybatis中的resultMap的使用
- Android 错误 :TextView中属性ellipsize的 值为start、middle可能会出现错误
- 瀑布流布局html+css+js分享
- 马士兵尚学堂Struts2笔记——以及工作机制
- C++编程入门系列之四十八(多态性:虚函数)
- 【免费学习】蓝鸥微信小程序全方位深度解析
- [核格Hearken平台]核格平台表格隔行变色功能的实现
- GridView动态展示照片,长按删除,支持点击放大,裁剪实现
- Bootstrap3 栅格系统-实例:流式布局容器