欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-12 23:56:09
resulttype和resultmap只能有一个成立,resulttype是直接表示返回类型的,而resultmap则是对外部resultmap的引用,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查询操作实例详解,希望对大家有所帮助