1. 程式人生 > >MyBatis中的結果集對映---xml配置檔案

MyBatis中的結果集對映---xml配置檔案

實體類:

package cn.et.lesson03.dept;
// default package

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

/**
 * Dept entity. @author MyEclipse Persistence Tools
 */

public class Dept{

	// Fields

	private BigDecimal deptId;
	private String deptName;
	private String deptLoc;
	
	public BigDecimal getDeptId() {
		return deptId;
	}
	public void setDeptId(BigDecimal deptId) {
		this.deptId = deptId;
	}
	public String getDeptName() {
		return deptName;
	}
	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}
	public String getDeptLoc() {
		return deptLoc;
	}
	public void setDeptLoc(String deptLoc) {
		this.deptLoc = deptLoc;
	}
	
	@Override
	public String toString() {
		return "Dept [deptId=" + deptId + ", deptName=" + deptName
				+ ", deptLoc=" + deptLoc + "]";
	}	
}

介面:

package cn.et.lesson03.dept;


public interface DeptMapper {

	public Dept selectDept(String deptNo);
}

dept_mapper.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="cn.et.lesson03.dept.DeptMapper">
	
	<!--申明結果集對映  -->
	<resultMap type="cn.et.lesson03.dept.Dept" id="dept">
		<!-- column為資料庫中的列名   property實體類中的欄位名-->
		<result column="deptNo" property="deptId"/>
		<result column="dname" property="deptName"/>
		<result column="loc"  property="deptLoc"/>
	</resultMap>	
	
	<select id="selectDept" resultMap="dept">
	  select * from dept where deptNo = #{0}
	</select>

</mapper>


Test:

package cn.et.lesson03.dept;

import java.io.InputStream;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;


public class TestMybatis {
	
	private static SqlSession getSession() {
		//因為需要的mybatis.xml檔案 不在同一層目錄  所以這裡才使用 cn.et.lesson01.TestMybatis
		InputStream is = TestMybatis.class.getResourceAsStream("/cn/et/lesson03/mybatis.xml");
		
		SqlSessionFactory session = new SqlSessionFactoryBuilder().build(is);
		//openSession()獲取操作資料庫的類 SqlSession
		SqlSession sqlSession = session.openSession();
		return sqlSession;
	}

	
	public static void main(String[] args) {
		
		SqlSession sqlSession = getSession();
		//通過動態代理建立一個實體類    通過介面會自動呼叫配置檔案
		DeptMapper dm = sqlSession.getMapper(DeptMapper.class);
		
		Dept dept = dm.selectDept("10");
		System.out.println(dept);

	}
}


Run: