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查询操作实例详解,希望对大家有所帮助
上一篇: 谈谈 MySQL的刷盘过程 和 表数据
下一篇: IPVS之NAT转发模式