mybatis08–关联查询多对一详解编程语言
编程语言 详解 查询 8211 关联
2023-06-13 09:20:36 时间
public String toString() {
return "Provincial [pId=" + pId + ", pName=" + pName + ", country="
+ country + "]";
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-Mapper.dtd" mapper namespace="cn.bdqn.dao.ProvincialDao" !-- 这里的resultMap和之前使用的不一样,哪怕属性和字段一致 也要书写 因为mybatis在底层封装的时候,是根据我们resultMap中写的属性来的 -- resultMap type="Provincial" id="provincialMap" id property="pId" column="pid"/ result property="pName" column="pname"/ !-- 设置关联的属性 -- association property="country" javaType="Country" id property="cId" column="cid"/ result property="cName" column="cname"/ /association /resultMap !-- 这是单表的关联查询 不经常使用 因为 不能使用延迟加载 -- select id="selectProvincialById" resultMap="provincialMap" select cid,cname,pid,pname from country,provincial where cid=countryid and pid=#{xxx} !-- #{xxx} 参数的占位符 -- /select /mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-Mapper.dtd" mapper namespace="cn.bdqn.dao.ProvincialDao" !-- 这里的resultMap和之前使用的不一样,哪怕属性和字段一致 也要书写 因为mybatis在底层封装的时候,是根据我们resultMap中写的属性来的 -- resultMap type="Provincial" id="provincialMap" id property="pId" column="pid"/ result property="pName" column="pname"/ !-- 设置关联的属性 -- association property="country" javaType="Country" id property="cId" column="cid"/ result property="cName" column="cname"/ /association /resultMap !-- 这是单表的关联查询 不经常使用 因为 不能使用延迟加载 -- select id="selectProvincialById" resultMap="provincialMap" select cid,cname,pid,pname from country,provincial where cid=countryid and pid=#{xxx} !-- #{xxx} 参数的占位符 -- /select /mapper
mybatis.xml文件管理mapper文件
!-- 加载映射文件信息 -- mappers mapper resource="cn/bdqn/dao/ProvincialMapper.xml" / /mappers
测试类代码
public class ProvincialTest { ProvincialDao dao; SqlSession session; @Before public void before() { // 因为需要关闭session 需要把session提取出去 session = SessionUtil.getSession(); dao = session.getMapper(ProvincialDao.class); @After public void after() { if (session != null) { session.close(); /** * 根据省会的id查询出省会和对应国家的信息 @Test public void test1() { Provincial provincial = dao.selectProvincialById(1); System.out.println(provincial); }
02.使用单表的单独查询
只需要修改mapper文件内容 其他代码不变
?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.bdqn.dao.ProvincialDao" select id="selectCountryByProvincialId" resultType="Country" select cid,cname from country where cid=#{xxx} !--#{xxx}就是resultMap 中 association节点中的column属性 -- /select
result property="pName" column="pname"/ !-- 设置关联的属性 select:关联的查询结果 -- association property="country" javaType="Country" select="selectCountryByProvincialId" column="countryid" / /resultMap !-- 多表的单独查询 常用的方式 可以使用延迟加载策略 -- select id="selectProvincialById" resultMap="provincialMap" select pid,pname,countryid from provincial where pid=#{xxx} !-- #{xxx} 用户传递参数的占位符 -- /select /mapper
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/12145.html
cjavaxml相关文章
- python通过MySQLdb模块连接查询mysql数据详解编程语言
- js万年历查询(包含农历 新历 节日 时区)详解编程语言
- Java生成 sql查询语句 通用方法(带排序/分页)详解编程语言
- java properties增删改查详解编程语言
- java获取当前月第一天和最后一天,上个月第一天和最后一天详解编程语言
- Android分页查询获取系统联系人信息详解编程语言
- Java网络请求工具类详解编程语言
- java归并排序算法详解编程语言
- Hibernate_day04讲义_使用hibernate完成对客户的条件查询详解编程语言
- javaweb学习总结(八)——HttpServletResponse对象(二)详解编程语言
- mybatis 模糊查询简单sql详解编程语言
- Activiti 查询流程定义详解编程语言
- steam数据模型简易记录详解编程语言
- Hibernate通过SQL查询常量时只返回第一个字符解决方法详解编程语言
- 深入理解Java虚拟机 – 类加载机制详解编程语言
- xhEditor实现插入代码功能详解编程语言
- 常用十六进制颜色对照表代码查询详解编程语言
- Mybatis 多表查询及查询结果映射详解编程语言
- Django Mysql数据库-F查询和Q查询详解编程语言
- ABAP–在查询条件只包含部分索引字段时,如何使用索引详解编程语言
- sap后台作业管理/sap打印管理详解编程语言
- 自定义JSTL函数标签(一)详解编程语言
- BAPI_GOODSMVT_CREATE的参数GOODSMVT_CODE的说明详解编程语言
- SQVI和SAP查询QUERY的区别和使用注意事项详解编程语言
- Classic BADI总结详解编程语言
- ThinkPHP多表联合查询的常用方法详解编程语言
- Find Minimum in Rotated Sorted Array II详解编程语言
- Django的mode的分组查询和聚合查询和F查询和Q查询详解编程语言