时间:2021-05-20
resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题。比如:列名和对象属性名不一致时可以使用resultMap来配置;还有查询的对象中包含其他的对象等。
MyBatisConfig.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//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 mapperPUBLIC "-//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查询操作实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应
MyBatis3.X复杂Sql查询MyBatis3.X的resultMap1.Mybatis的sql语句返回的结果有两种resultType查询出的字段在相应的
在使用Mybatis时,有的时候我们可以不用定义resultMap,而是直接在语句上指定resultType。这个时候其实就用到了Mybatis的结果集自动映射
一、Mybatis中的延迟加载1、延迟加载背景:Mybatis中Mapper配置文件中的resultMap可以实现高级映射(使用association、coll
如下所示:**只要设定resultType而不设定resultMap就可以了**:<selectid=“selectByPage”parameterType=“