日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis中的多对一的查询

發(fā)布時(shí)間:2023/11/29 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis中的多对一的查询 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

多對(duì)一也分為單條sql語句和多條sql語句

下面就以員工和就職部門為例:

員工實(shí)體類

private Integer empno;
private String empname;
private Integer deptno;
//植入部門實(shí)體
private Dept dept;

public Integer getEmpno() {return empno;}
public void setEmpno(Integer empno) {
this.empno = empno;
}

public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {this.empname = empname;}

public Integer getDeptno() {return deptno;}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}

public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}



部門實(shí)體類 private Integer deptno;
private String deptname;

public String getDeptname() {
return deptname;
}
public void setDeptname(String deptname) {
this.deptname = deptname;
}

public Integer getDeptno() {
return deptno;
}
public void setDeptno(Integer deptno) {
this.deptno = deptno;
}
單條sql語句
接口
/**
* 根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
* 多對(duì)一 一條sal語句
* @param empno
* @return
*/
public Emp getEmpByEmpNo(int empno);



xml文件(小配置)

<!--根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
多對(duì)一 一條sql語句
-->
<resultMap id="empMapper" type="Emp">
<id column="empno" property="empno"></id>
<result column="empname" property="empname"></result>
<association property="dept" javaType="Dept">
<id column="deptno" property="deptno"></id>
<result column="deptname" property="deptname"></result>
</association>
</resultMap>
<select id="getEmpByEmpNo" resultMap="empMapper">
SELECT dept.deptno,dept.deptname,empname,empno
FROM Dept,Emp
WHERE dept.deptno=emp.deptno AND empno=#{empno}
</select>

測(cè)試類

/**
* 根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
* 多對(duì)一 一條sql語句
*/
@Test
public void getEmpByEmpNo(){
SqlSession session = MyBatisUtil.getSession();
IEmpDAO mapper = session.getMapper(IEmpDAO.class);
Emp emp = mapper.getEmpByEmpNo(1);
System.out.println(emp.getEmpname());
System.out.println(emp.getDept().getDeptname());
session.commit();
session.close();
}


多條sql語句

接口 /**
* 根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
* 多對(duì)一 多條sal語句
* @param empno
* @return
*/
public Emp getEmpByEmpNoManySql(int empno);



xml文件(小配置) <!--根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
多對(duì)一 多條sql語句
-->
<resultMap id="empMapperMnaySql" type="Emp">
<id column="empno" property="empno"></id>
<result column="empname" property="empname"></result>
<association property="dept" javaType="Dept" column="empno" select="getEmpByEmpno"></association>
</resultMap>
<select id="getEmpByEmpno" resultType="Dept">
select *from dept where deptno=#{deptno}
</select>

<select id="getEmpByEmpNoManySql" resultMap="empMapperMnaySql">
SELECT empname,empno FROM Emp WHERE empno=#{empno}
</select>




測(cè)試類

/**
* 根據(jù)員工編號(hào) 獲取員工姓名和所屬部門
* 多對(duì)一 多條sql語句
*/
@Test
public void getEmpByEmpNoManySql(){
SqlSession session = MyBatisUtil.getSession();
IEmpDAO mapper = session.getMapper(IEmpDAO.class);
Emp emp = mapper.getEmpByEmpNoManySql(2);
System.out.println(emp.getEmpname());
System.out.println(emp.getDept().getDeptname());
session.commit();
session.close();
}












?

轉(zhuǎn)載于:https://www.cnblogs.com/sujulin/p/7589120.html

總結(jié)

以上是生活随笔為你收集整理的mybatis中的多对一的查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。