当前位置: 首页 > 编程笔记 >

Mybatis中的resultType和resultMap查询操作实例详解

微生欣怡
2023-03-14
本文向大家介绍Mybatis中的resultType和resultMap查询操作实例详解,包括了Mybatis中的resultType和resultMap查询操作实例详解的使用技巧和注意事项,需要的朋友参考一下

resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。比如:列名和对象属性名不一致时可以使用resultMap来配置;还有查询的对象中包含其他的对象等。

MyBatisConfig.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一定要在environments之前-->
<typeAliases>
<typeAlias type="jike.book.pojo.JiKeUser" alias="JiKeUser"/>
</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://localhost:3306/jikebook"/>
<property name="username" value="root"/>
<property name="password" value="*****"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="jike/book/map/jikeUser.xml"/>
<mapper class="jike.book.Impl.InterfaceJikeUserMap"/>
</mappers>
</configuration>

jikeUser.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="/">
<resultMap id="JiKeUserMap" type="JiKeUser">
<id property="id" column="id"/>
<result property="userName" column="userName"/>
<result property="password" column="password"/>
</resultMap>
<select id="selectUserMap" resultMap="JiKeUserMap">
select * from jikeUser;
</select>
<select id="selectUserList" resultType="JiKeUser" parameterType="JiKeUser">
select * from jikebook.jikeuser;
</select>
</mapper>

TestSelect.java

package jike.book.test;
import jike.book.pojo.JiKeUser;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
/**
* DateTime: 2016/9/5 21:45
* 功能:
* 思路:
*/
public class TestSelect {
public static void main(String[] args) {
// 资源路径
String resource="jike/book/map/MyBatisConfig.xml";
Reader reader=null;
SqlSession session;
try {
reader= Resources.getResourceAsReader(resource);
} catch ( IOException e ) {
e.printStackTrace();
}
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
session=sqlMapper.openSession();
List<JiKeUser> list=session.selectList("selectUserMap");
// List<JiKeUser> list=session.selectList("selectUserList");
for(JiKeUser jiKeUser:list){
System.out.println(jiKeUser.getUserName());
}
session.close();
}
}

运行

List<JiKeUser> list=session.selectList("selectUserMap");

或者

List<JiKeUser> list=session.selectList("selectUserList");

结果都是一样的

以上所述是小编给大家介绍的Mybatis中的resultType和resultMap查询操作实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍深入理解Mybatis中的resultType和resultMap,包括了深入理解Mybatis中的resultType和resultMap的使用技巧和注意事项,需要的朋友参考一下  一、概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部Res

  • 本文向大家介绍MyBatis中关于resultType和resultMap的区别介绍,包括了MyBatis中关于resultType和resultMap的区别介绍的使用技巧和注意事项,需要的朋友参考一下 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而

  • 本文向大家介绍MongoDB多表关联查询操作实例详解,包括了MongoDB多表关联查询操作实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MongoDB多表关联查询操作。分享给大家供大家参考,具体如下: Mongoose的多表关联查询 首先,我们回忆一下,MySQL多表关联查询的语句: student表: calss表: 通过student的classId关联进行查询学生名称,班级

  • 主要内容:resultMap元素的构成,使用Map存储结果集,使用POJO存储结果集,resultType和resultMap的区别resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象。下面我们先从最简单的功能开始介绍。 现有的 MyBatis 版本只支持 resultMap 查询,不支持更新或者保存,更不必说级联的更新、删除和修改。 resultMap元素的构成 resultMap 元素还可以包含以下子元素

  • 现在我需要row_id作为map(键),其他列作为bean的属性。 我想做一些像我下面的代码一样的事情,但是我找不到正确的语法。 有什么想法吗? 多谢了。

  • 1. 前言 本小节,我们将一起学习 MyBatis resultMap 和 sql。 在前面的小节中,我们了解到 MyBatis 可以自动帮助我们映射数据库数据和 Java 对象,其实这是 MyBatis 在幕后帮我们创建了 resultMap 对象;虽然 MyBatis 可以自动帮助我们做数据映射,但是对于复杂的对象,我们就必须自定义 resultMap 了。 而在书写 SQL 时,势必会有一些