当前位置: 首页 > news >正文

博客网站开发思维导图app网站制作公司

博客网站开发思维导图,app网站制作公司,购物app下载,wordpress 首页描述学习的最大理由是想摆脱平庸#xff0c;早一天就多一份人生的精彩#xff1b;迟一天就多一天平庸的困扰。各位小伙伴#xff0c;如果您#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持#xff0c;想组团高效学习… 想写博客但无从下手#xff0c;急需… 学习的最大理由是想摆脱平庸早一天就多一份人生的精彩迟一天就多一天平庸的困扰。各位小伙伴如果您 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持想组团高效学习… 想写博客但无从下手急需写作干货注入能量… 热爱写作愿意让自己成为更好的人… 文章目录 前言一、resultMap处理字段和属性的映射关系二、多对一映射处理1、级联方式处理映射关系2、使用association处理映射关系3、分步查询1. 查询员工信息2. 查询部门信息 三、一对多映射处理1、collection2、分步查询1. 查询部门信息2. 根据部门id查询部门中的所有员工 四、延迟加载总结 前言 一、resultMap处理字段和属性的映射关系 二、多对一映射处理 1、级联方式处理映射关系 2、使用association处理映射关系 3、分步查询 查询员工信息查询部门信息 三、一对多映射处理 1、collection 2、分步查询查询部门信息根据部门id查询部门中的所有员工 四、延迟加载 一、resultMap处理字段和属性的映射关系 resultMap设置自定义映射 属性 id表示自定义映射的唯一标识不能重复type查询的数据要映射的实体类的类型 子标签 id设置主键的映射关系result设置普通字段的映射关系子标签属性 property设置映射关系中实体类中的属性名column设置映射关系中表中的字段名 若字段名和实体类中的属性名不一致则可以通过resultMap设置自定义映射即使字段名和属性名一致的属性也要映射也就是全部属性都要列出来 resultMap idempResultMap typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/result /resultMap !--ListEmp getAllEmp();-- select idgetAllEmp resultMapempResultMapselect * from t_emp /select若字段名和实体类中的属性名不一致但是字段名符合数据库的规则使用_实体类中的属性名符合Java的规则使用驼峰。此时也可通过以下两种方式处理字段名和实体类中的属性的映射关系 可以通过为字段起别名的方式保证和实体类中的属性名保持一致!--ListEmp getAllEmp();-- select idgetAllEmp resultTypeEmpselect eid,emp_name empName,age,sex,email from t_emp /select可以在MyBatis的核心配置文件中的setting标签中设置一个全局配置信息mapUnderscoreToCamelCase可以在查询表中数据时自动将_类型的字段名转换为驼峰例如字段名user_name设置了mapUnderscoreToCamelCase此时字段名就会转换为userName。 核心配置文件详解 settingssetting namemapUnderscoreToCamelCase valuetrue//settings二、多对一映射处理 查询员工信息以及员工所对应的部门信息 public class Emp { private Integer eid; private String empName; private Integer age; private String sex; private String email; private Dept dept;//...构造器、get、set方法等 }1、级联方式处理映射关系 resultMap idempAndDeptResultMapOne typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/resultresult propertydept.did columndid/resultresult propertydept.deptName columndept_name/result /resultMap !--Emp getEmpAndDept(Param(eid)Integer eid);-- select idgetEmpAndDept resultMapempAndDeptResultMapOneselect * from t_emp left join t_dept on t_emp.eid t_dept.did where t_emp.eid #{eid} /select2、使用association处理映射关系 association处理多对一的映射关系property需要处理多对的映射关系的属性名javaType该属性的类型 resultMap idempAndDeptResultMapTwo typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/resultassociation propertydept javaTypeDeptid propertydid columndid/idresult propertydeptName columndept_name/result/association /resultMap !--Emp getEmpAndDept(Param(eid)Integer eid);-- select idgetEmpAndDept resultMapempAndDeptResultMapTwoselect * from t_emp left join t_dept on t_emp.eid t_dept.did where t_emp.eid #{eid} /select3、分步查询 1. 查询员工信息 select设置分布查询的sql的唯一标识namespace.SQLId或mapper接口的全类名.方法名column设置分步查询的条件 //EmpMapper里的方法 /*** 通过分步查询员工及所对应的部门信息* 分步查询第一步查询员工信息* param * return com.atguigu.mybatis.pojo.Emp* date 2022/2/27 20:17*/ Emp getEmpAndDeptByStepOne(Param(eid) Integer eid);resultMap idempAndDeptByStepResultMap typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/resultassociation propertydeptselectcom.atguigu.mybatis.mapper.DeptMapper.getEmpAndDeptByStepTwocolumndid/association /resultMap !--Emp getEmpAndDeptByStepOne(Param(eid) Integer eid);-- select idgetEmpAndDeptByStepOne resultMapempAndDeptByStepResultMapselect * from t_emp where eid #{eid} /select2. 查询部门信息 //DeptMapper里的方法 /*** 通过分步查询员工及所对应的部门信息* 分步查询第二步通过did查询员工对应的部门信息* param* return com.atguigu.mybatis.pojo.Emp* date 2022/2/27 20:23*/ Dept getEmpAndDeptByStepTwo(Param(did) Integer did);!--此处的resultMap仅是处理字段和属性的映射关系-- resultMap idEmpAndDeptByStepTwoResultMap typeDeptid propertydid columndid/idresult propertydeptName columndept_name/result /resultMap !--Dept getEmpAndDeptByStepTwo(Param(did) Integer did);-- select idgetEmpAndDeptByStepTwo resultMapEmpAndDeptByStepTwoResultMapselect * from t_dept where did #{did} /select三、一对多映射处理 public class Dept {private Integer did;private String deptName;private ListEmp emps;//...构造器、get、set方法等 }1、collection collection用来处理一对多的映射关系ofType表示该属性对饮的集合中存储的数据的类型 resultMap idDeptAndEmpResultMap typeDeptid propertydid columndid/idresult propertydeptName columndept_name/resultcollection propertyemps ofTypeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/result/collection /resultMap !--Dept getDeptAndEmp(Param(did) Integer did);-- select idgetDeptAndEmp resultMapDeptAndEmpResultMapselect * from t_dept left join t_emp on t_dept.did t_emp.did where t_dept.did #{did} /select2、分步查询 1. 查询部门信息 /*** 通过分步查询查询部门及对应的所有员工信息* 分步查询第一步查询部门信息* param did * return com.atguigu.mybatis.pojo.Dept* date 2022/2/27 22:04*/ Dept getDeptAndEmpByStepOne(Param(did) Integer did);resultMap idDeptAndEmpByStepOneResultMap typeDeptid propertydid columndid/idresult propertydeptName columndept_name/resultcollection propertyempsselectcom.atguigu.mybatis.mapper.EmpMapper.getDeptAndEmpByStepTwocolumndid/collection /resultMap !--Dept getDeptAndEmpByStepOne(Param(did) Integer did);-- select idgetDeptAndEmpByStepOne resultMapDeptAndEmpByStepOneResultMapselect * from t_dept where did #{did} /select2. 根据部门id查询部门中的所有员工 /*** 通过分步查询查询部门及对应的所有员工信息* 分步查询第二步根据部门id查询部门中的所有员工* param did* return java.util.Listcom.atguigu.mybatis.pojo.Emp* date 2022/2/27 22:10*/ ListEmp getDeptAndEmpByStepTwo(Param(did) Integer did);!--ListEmp getDeptAndEmpByStepTwo(Param(did) Integer did);-- select idgetDeptAndEmpByStepTwo resultTypeEmpselect * from t_emp where did #{did} /select四、延迟加载 分步查询的优点可以实现延迟加载但是必须在核心配置文件中设置全局配置信息 lazyLoadingEnabled延迟加载的全局开关。当开启时所有关联对象都会延迟加载aggressiveLazyLoading当开启时任何方法的调用都会加载该对象的所有属性。 否则每个属性会按需加载 此时就可以实现按需加载获取的数据是什么就只会执行相应的sql。此时可通过association和collection中的fetchType属性设置当前的分步查询是否使用延迟加载fetchType“lazy(延迟加载)|eager(立即加载)” settings!--开启延迟加载--setting namelazyLoadingEnabled valuetrue/ /settingsTest public void getEmpAndDeptByStepOne() {SqlSession sqlSession SqlSessionUtils.getSqlSession();EmpMapper mapper sqlSession.getMapper(EmpMapper.class);Emp emp mapper.getEmpAndDeptByStepOne(1);System.out.println(emp.getEmpName()); }关闭延迟加载两条SQL语句都运行了 开启延迟加载只运行获取emp的SQL语句 Test public void getEmpAndDeptByStepOne() {SqlSession sqlSession SqlSessionUtils.getSqlSession();EmpMapper mapper sqlSession.getMapper(EmpMapper.class);Emp emp mapper.getEmpAndDeptByStepOne(1);System.out.println(emp.getEmpName());System.out.println(----------------);System.out.println(emp.getDept()); }开启后需要用到查询dept的时候才会调用相应的SQL语句 fetchType当开启了全局的延迟加载之后可以通过该属性手动控制延迟加载的效果fetchType“lazy(延迟加载)|eager(立即加载)” resultMap idempAndDeptByStepResultMap typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/resultassociation propertydeptselectcom.atguigu.mybatis.mapper.DeptMapper.getEmpAndDeptByStepTwocolumndidfetchTypelazy/association /resultMap总结 以上就是Mybatis之自定义映射resultMap的相关知识点希望对你有所帮助。 积跬步以至千里积怠惰以至深渊。时代在这跟着你一起努力哦
http://www.zqtcl.cn/news/867821/

相关文章:

  • 池州网站建设有哪些公司兴义网站seo
  • seo优化网站模板网站建设的七大优缺点
  • 天猫国际采取的跨境电商网络营销方式关键词排名优化公司推荐
  • 亳州建设网站做网站文字怎么围绕图片
  • 网站开发 项目计划外链建设给网站起的作用
  • 你好南京网站网站开发实施步骤和说明
  • 文化共享工程网站建设情况wordpress菠菜插件
  • 网站大气是什么意思哈尔滨做网站电话
  • 公司网站站群是什么化妆品网站设计欣赏
  • 网站公司未来计划ppt怎么做平潭做网站
  • 做网站和推广工资多少招聘网站建设价格
  • 网站建设 响应式 北京网架公司十大排名榜
  • 网站推广目标关键词是什么意思网站推广软件工具
  • 哪里可以做免费的物流网站wordpress为什么放弃
  • 做网站需要多少钱 都包括什么高端大气的网站首页
  • 黄石做网站联系最近的国际新闻
  • 网站建设与运营的预算方案淘宝禁止了网站建设类
  • 做网站的顺序编写app的软件
  • 站长联盟个人网站不备案
  • 惠州建设工程交易网站网站服务器失去响应
  • 网站下拉广告iphone app wordpress
  • 网站图片怎样做seo优化如何重新安装wordpress
  • python做网站源码长沙建设网站制作
  • wordpress调用分类的所有子目录龙岩seo公司首荐3火星
  • 聊城市建设工程质量监督站网站wordpress 头部
  • 低价郑州网站建设wordpress是外网吗
  • 互联网门户网站有哪些win10优化大师是官方的吗
  • 深圳品牌做网站公司有哪些公司名称变更网站要重新备案吗
  • 网站网页建设实训心得体会二类电商平台都有哪些
  • 兰州免费网站建设上海城隍庙要门票吗