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

中国建设银行网站荆门网点查询系统河北建设工程信息网已取消

中国建设银行网站荆门网点查询系统,河北建设工程信息网已取消,创意产品设计书,百度指数数据分析目录 16、Xml 映射文件中#xff0c;除了常见的 select|insert|updae|delete标签之外#xff0c;还有哪些标签#xff1f; 17、Mybatis 的 Xml 映射文件中#xff0c;不同的 Xml 映射文件#xff0c;id 是否可以重复#xff1f; 18、为什么说 Mybatis 是半自动 ORM 映射…目录 16、Xml 映射文件中除了常见的 select|insert|updae|delete标签之外还有哪些标签 17、Mybatis 的 Xml 映射文件中不同的 Xml 映射文件id 是否可以重复 18、为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里 19、 一对一、一对多的关联查询 20、MyBatis 实现一对一有几种方式?具体怎么操作的 21、MyBatis 实现一对多有几种方式,怎么操作的 22、Mybatis 是否支持延迟加载如果支持它的实现原理是什么 23、Mybatis 的一级、二级缓存: 24、什么是 MyBatis 的接口绑定有哪些实现方式 25、使用 MyBatis 的 mapper 接口调用时有哪些要求 26、Mapper 编写有哪几种方式 27、简述 Mybatis 的插件运行原理以及如何编写一个插件。 16、Xml 映射文件中除了常见的 select|insert|updae|delete标签之外还有哪些标签 resultMap 、 parameterMap 、 sql 、 include 、 selectKey加上动态 sql 的 9 个标签其中 sql 为 sql 片段标签通过 include标签引入 sql 片段 selectKey 为不支持自增的主键生成策略标 签。 17、Mybatis 的 Xml 映射文件中不同的 Xml 映射文件id 是否可以重复 不同的 Xml 映射文件如果配置了 namespace 那么 id 可以重复如果没有配置 namespace 那么 id 不能重复 原因就是 namespaceid 是作为 Map String, MapperStatement 的 key使用的如果没有  namespace 就剩下 id 那么 id 重复会导致数据互相覆盖。有了 namespace 自然 id 就可以重复 namespace 不同 namespaceid 自然也就不同。 18、为什么说 Mybatis 是半自动 ORM 映射工具它与全自动的区别在哪里 Hibernate 属于全自动 ORM 映射工具使用 Hibernate 查询关联对象或者关联 集合对象时可以根据对象关系模型直接获取所以它是全自动的。而 Mybatis 在查询关联对象或关联集合对象时需要手动编写 sql 来完成所以称之为半自动 ORM 映射工具。 19、 一对一、一对多的关联查询 mapper namespacecom.dljd.mapping.userMapper!--association 一对一关联查询 --select idgetClass parameterTypeint resultMapClassesResultMapselect * from class c,teacher t where c.teacher_idt.t_id and c.c_id#{id}/selectresultMap typecom.dljd.user.Classes idClassesResultMap!-- 实体类的字段名和数据表的字段名映射 --id propertyid columnc_id/result propertyname columnc_name/association propertyteacher javaTypecom.dljd.user.Teacherid propertyid columnt_id/result propertyname columnt_name//association/resultMap!--collection 一对多关联查询 --select idgetClass2 parameterTypeint resultMapClassesResultMap2select * from class c,teacher t,student s where c.teacher_idt.t_id and c.c_ids.class_id and c.c_id#{id}/selectresultMap typecom.dljd.user.Classes idClassesResultMap2id propertyid columnc_id/result propertyname columnc_name/association propertyteacher javaTypecom.dljd.user.Teacherid propertyid columnt_id/result propertyname columnt_name//associationcollection propertystudent ofTypecom.dljd.user.Studentid propertyid columns_id/result propertyname columns_name//collection/resultMap /mapper 20、MyBatis 实现一对一有几种方式?具体怎么操作的 有联合查询和嵌套查询 , 联合查询是几个表联合查询 , 只查询一次 , 通过在resultMap 里面配置 association 节点配置一对一的类就可以完成 嵌套查询是先查一个表根据这个表里面的结果的 外键 id 去再另外一个表里面查询数据, 也是通过 association 配置但另外一个表的查询通过 select 属性配置。 21、MyBatis 实现一对多有几种方式,怎么操作的 有联合查询和嵌套查询。联合查询是几个表联合查询 , 只查询一次 , 通过在 resultMap 里面的 collection 节点配置一对多的类就可以完成嵌套查询是先查一个表, 根据这个表里面的 结果的外键 id, 去再另外一个表里面查询数据 , 也是通过配置 collection, 但另外一个表的查询通过 select 节点配置。 22、Mybatis 是否支持延迟加载如果支持它的实现原理是什么 Mybatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加载association 指的就是一对一 collection 指的就是一对多查询。在 Mybatis配置文件中可以配置是否启用延迟加载 lazyLoadingEnabledtrue|false 。 它的原理是使用 CGLIB 创建目标对象的代理对象当调用目标方法时进入拦截器方法比如调用 a.getB().getName() 拦截器 invoke() 方法发现 a.getB() 是null 值那么就会单独发送事先保存好的查询关联 B 对象的 sql 把 B 查询上来然后调用 a.setB(b) 于是 a 的对象 b 属性就有值了接着完成 a.getB().getName()方法的调用。这就是延迟加载的基本原理。 当然了不光是 Mybatis 几乎所有的包括 Hibernate 支持延迟加载的原理都是一样的。 23、Mybatis 的一级、二级缓存: 1 一级缓存 : 基于 PerpetualCache 的 HashMap 本地缓存其存储作用域为Session当 Session flush 或 close 之后该 Session 中的所有 Cache 就将清空默认打开一级缓存。 2 二级缓存与一级缓存其机制相同默认也是采用 PerpetualCache HashMap存储不同在于其存储作用域为 Mapper(Namespace) 并且可自定义存储源如 Ehcache 。默认不打开二级缓存要开启二级缓存使用二级缓存属性类需要实现 Serializable 序列化接口 ( 可用来保存对象的状态 ), 可在它的映射文件中配置cache/ 3 对于缓存数据更新机制当某一个作用域 ( 一级缓存 Session/ 二级缓存Namespaces)的进行了 C/U/D 操作后默认该作用域下所有 select 中的缓存将被 clear 。 24、什么是 MyBatis 的接口绑定有哪些实现方式 接口绑定就是在 MyBatis 中任意定义接口 , 然后把接口里面的方法和 SQL 语句绑定, 我们直接调用接口方法就可以 , 这样比起原来了 SqlSession 提供的方法我们可以有更加灵活的选择和设置。 接口绑定有两种实现方式 , 一种是通过注解绑定就是在接口的方法上面加上Select、 Update 等注解里面包含 Sql 语句来绑定另外一种就是通过 xml里面写 SQL 来绑定 , 在这种情况下 , 要指定 xml 映射文件里面的 namespace 必须为接口的全路径名。当 Sql 语句比较简单时候 , 用注解绑定 , 当 SQL 语句比较复杂时候, 用 xml 绑定 , 一般用 xml 绑定的比较多。 25、使用 MyBatis 的 mapper 接口调用时有哪些要求 1 、 Mapper 接口方法名和 mapper.xml 中定义的每个 sql 的 id 相同 2 、 Mapper 接口方法的输入参数类型和 mapper.xml 中定义的每个 sql 的parameterType 的类型相同 3 、 Mapper 接口方法的输出参数类型和 mapper.xml 中定义的每个 sql 的resultType 的类型相同 4 、 Mapper.xml 文件中的 namespace 即是 mapper 接口的类路径。 26、Mapper 编写有哪几种方式 第一种接口实现类继承 SqlSessionDaoSupport 使用此种方法需要编写mapper 接口 mapper 接口实现类、 mapper.xml 文件。 1 、在 sqlMapConfig.xml 中配置 mapper.xml 的位置 mappersmapper resourcemapper.xml 文件的地址 /mapper resourcemapper.xml 文件的地址 / /mappers 1 、定义 mapper 接口 3 、实现类集成 SqlSessionDaoSupport mapper 方法中可以 this.getSqlSession() 进行数据增删改查。 4 、 spring 配置 bean id classmapper 接口的实现property namesqlSessionFactory refsqlSessionFactory/property /bean 第二种使用 org.mybatis.spring.mapper.MapperFactoryBean 1 、在 sqlMapConfig.xml 中配置 mapper.xml 的位置如果 mapper.xml 和mappre 接口的名称相同且在同一个目录这里可以不用配置 mappersmapper resourcemapper.xml 文件的地址 /mapper resourcemapper.xml 文件的地址 / /mappers 2 、定义 mapper 接口 1 mapper.xml 中的 namespace 为 mapper 接口的地址 2 mapper 接口中的方法名和 mapper.xml 中的定义的 statement 的 id 保持一 致 3 Spring 中定义 bean id classorg.mybatis.spring.mapper.MapperFactoryBeanproperty namemapperInterface valuemapper 接口地址 /property namesqlSessionFactory refsqlSessionFactory / /bean 第三种使用 mapper 扫描器 1 、 mapper.xml 文件编写 mapper.xml 中的 namespace 为 mapper 接口的地址 mapper 接口中的方法名和 mapper.xml 中的定义的 statement 的 id 保持一致 如果将 mapper.xml 和 mapper 接口的名称保持一致则不用在 sqlMapConfig.xml 中进行配置。 2 、定义 mapper 接口 注意 mapper.xml 的文件名和 mapper 的接口名称保持一致且放在同一个目录 3 、配置 mapper 扫描器 bean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namebasePackage valuemapper 接口包地址 /propertyproperty namesqlSessionFactoryBeanName valuesqlSessionFactory/ /bean 4 、使用扫描器后从 spring 容器中获取 mapper 的实现对象。 27、简述 Mybatis 的插件运行原理以及如何编写一个插件。 Mybatis 仅可以编写针对 ParameterHandler 、 ResultSetHandler 、 StatementHandler、 Executor 这 4 种接口的插件 Mybatis 使用 JDK 的动态代 理为需要拦截的接口生成代理对象以实现接口方法拦截功能每当执行这 4 种 接口对象的方法时就会进入拦截方法具体就是 InvocationHandler 的 invoke() 方法当然只会拦截那些你指定需要拦截的方法。 编写插件实现 Mybatis 的 Interceptor 接口并复写 intercept() 方法然后在给 插件编写注解指定要拦截哪一个接口的哪些方法即可记住别忘了在配置文 件中配置你编写的插件。 要想了解更多 千题千解·Java面试宝典_时光の尘的博客-CSDN博客
http://www.w-s-a.com/news/251480/

相关文章:

  • 建手机wap网站大概多少钱苏州网站设计公司有哪些
  • 网站建设需求文件学校网站建设方案及报价
  • 网站开发一般多少钱wordpress打赏赞插件
  • 做中国o2o网站领导唐山网站制作软件
  • 门户网站简介做网站一天能接多少单
  • 论坛类网站建设遵义网站制作外包
  • vps服务器购买网站小视频做网站怎么赚钱
  • 网站用图片wordpress同步发布
  • 织梦图片自适应网站源码网页美工的设计要点
  • 渝快办官方网站wordpress产品图片怎么改
  • 高端网站特色深圳建网站哪
  • 宝塔搭建网站软文小故事200字
  • 公司网站设计免费虚拟主机网站源码
  • 怎样做好网站用户体验申请网站空间
  • 网站建设优化公司招聘福州网站建设思企
  • 设计网站会员wordpress rss聚合
  • 网站建设过程中的收获html5官方网站开发流程
  • 网站建设-信科网络h5美食制作网站模板下载
  • 聊城九洲建设有限公司网站师大暨大网站建设
  • 烟台网站建设学校潍坊市建设监理协会网站
  • 大良营销网站建设资讯建设厅网站总经济师是干什么的
  • 网站优化推广软件网站制作公司dedecms
  • 在哪一个网站做社保申报百度小程序开发平台
  • 东莞网站建设_东莞网页设计网站色调代号
  • 濮阳住房和城乡建设部网站给别人做ppt的网站
  • 电子商务网站建设规划心得广告投放媒体
  • 淘宝店铺购买价格宝应百度seo
  • 同一虚拟主机 2个网站如果网站设计时
  • 网站维护的协议做网站 需要 域名 空间
  • 高安建站公司济宁哪里做网站最便宜