• 错题解析


     

       错题分析:Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL,因此选项C是正确的

     

     

       resource里的属性,路径不是点出来的,而是  cn/bdqn/dao/U...

     

           1 没有else        2when元素的test属性中直接书写表达式即可,即test=”表达式”。

         选择 D  此题考查MyBatis对于增删改查的配置,选项d误把parameterType写成了resultType,parameterType表示参数配置而resultType表示返回值配置

     

     一般SqlSession实例不提倡定义为一个类的静态变量,只因为SqlSession是线程不安全,实例不能共享的;而SqlSessionFactory实例建议定义为静态变量。

     

     为什么不选A,因为Hibernate是典型的ORM(Object Relational Mapping对象关系映射)框架。 为什么不选B,因为Mybatis是ORM框架。 为什么不选C,因为EclipseLink是ORM框架。

      就是  例如 List<String>  String就是集合中的类型  resultType就写String

       Column属性设置关联的主键列,用于嵌套查询SQL语句传入参数

    SqlSessionFactoryBuilder因为可以直接实例化,并且创建SqlSessionFactory之后就销毁,因此它是方法范围,SqlSessionFactory应该在应用运行期间都存在,不能频繁销毁和创建,因此它是应用范围,SqlSession是线程不安全的,不同线程之间不能共享使用,因此d不正确

    Mybatis的特点就是功能相对简单时,性能很高,所以非常适合Mybatis,C描述说不适合Mybatis

    使用collection, javaBean里的属性不是普通属性,而是一个集合,那么property:指的是User这个POJO里的属性名(addressList)

    ofType:指的是addressList这个list里面存放的是:Address对象,result的column对应的sql语句中的字段名(这里起了个别名:a_id)

       全局二级缓存默认是开启的

     resultType表示从该语句中返回的期望类型的类的完全限定名或别名,resultType=”Integer” 其中Integer不是别名,别名是integer,映射类型是java.lang.Integer

      

     

    嵌套查询(select) 方式才会产生n+1问题,嵌套查询,你执行了一个单独的 SQL 语句来获取结果列表(就是“+1”) ,

    对返回的每条记录,你执行了一个查询语句来为每个加载细节(就是“N”)。推荐使用关联的嵌套结果方式。

      useGeneratedKeys:允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,默认值为false,其他设置项都默认值为true

         在mybatis-config.xml中加入 <setting name="logImpl" value="STDOUT_LOGGING"/> 可以在控制台打印sql语句。

    组合使用的不是if、else标签而是when、otherwise标签

     

      

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    ES-- Elasticsearch粗略分析
    springMVC之@Request
    Spring Boot入门
    反射四(动态代理)
    反射三(泛型)
    反射二(字段)
    反射一(方法)
    nutch和solr建立搜索引擎基础(单机版)
    Cinnamon桌面是怎么回事儿
    开启属于你的GNOME桌面
  • 原文地址:https://www.cnblogs.com/LWLDD/p/8528821.html
Copyright © 2020-2023  润新知