MyBatis中的結果集對映---xml配置檔案
阿新 • • 發佈:2019-02-12
實體類:
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); } }