MyBatis框架之基本知识介绍 (2)

    

MyBatis框架之基本知识介绍

 2.创建SqlSession对象和关闭SqlSession

   

MyBatis框架之基本知识介绍

 

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 ·  3.SqlSession对象

作用:用于持久化操作的对象,类似于JDBC中的connection,提供了面向数据库执行SQL命令所需的所有方法,

 生命周期和作用域:对应着一次数据库会话,若关闭的SqlSession会话,就需要重新创建它。

注意:每个线程都有自己的SqlSession实例,所以不能被共享,是线程非安全的,最佳作用域范围是request作用域或者方法体作用域。

使用方式:1.直接执行已映射的Sql语句,例如:直接调用selectList方法执行查询。

     2.基于mapper接口方式操作数据。例子:Sqlsession.getMapper(接口名.class).执行的方法(参数);

二、核心配置文件

核心配置文件的一些基本的元素,需注意,元素节点有相应的先后顺序。如下图:

    

MyBatis框架之基本知识介绍

----configuration元素为整个xml配置文件的根节点,相当于总管。

1.properties元素:外部化、可替代的属性。

  (1)通过外部指定的方式:<properties resource="database.properties">引入database.properties文件。

  (2)直接配置xml文件。

    <properties>

      <property name = "xx" value = "xx">......

    </properties>

补充:如果以上的两种方式同时使用的话,外部引入优先级高于property子节点配置的值。

2.settings元素:设置重要的选项,用于设置和改变MyBatis运行中的行为。

设置项   描述   允许值   默认值  
cacheEnabled   对在此配置文件下的所有cache进行全局性开/关设置   true | false   true  
lazyLoadingEnabled   全局设置懒加载,设置为false,则所有相关联的都会被初始化加载   true | false   true  
autoMappingBehavior   MyBatis对于resultMap自动映射的自动匹配级别   NONE | PARTIAL | FULL   PARTAL  

  autoMappingBehavior的三个允许值:

  NONE 表示取消自动映射;PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集。 FULL 会自动映射任意复杂的结果集(无论是否嵌套)。

3.typeAliases元素:配置类型别名,减少输入多余的完整类名,以简化操作。

  更简化的写法:通过package的name属性直接指定包名,MyBatis会自动扫描指定包下的JavaBean,并默认设置别名(javabean的非限定类名)

4.environments元素:配置多套运行环境,可讲SQL映射应用到不同数据库环境上.

  (1)默认的运行ID:通过default属性来指定当前的运行环境ID。对于环境ID的命名要确保唯一。

  (2)transactionManager事务管理器:类型分为JDBC和MANAGED,直接使用JDBC的提交和回滚功能。

    一、使用JDBC的事务管理机制:即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等

    二、使用MANAGED的事务管理机制:这种机制MyBatis自身不会去实现事务管理,而是让程序的容器如(JBOSS,Weblogic)来实现对事务的管理

  (3)dataSource元素使用标准的JDBC数据源接口配置JDBC连接对象的资源。

    1.UNPOOLED:为每一个数据库操作创建一个新的连接,并关闭它,该方式只适用于只有小规模数量并发用户的简单应用程序上。

    2.POOLED:创建一个数据库连接池,池中的一个连接将会被用作数据库操作,一旦完成,会将此连接返回给连接池,经常使用此种方式。

    3.JNDI:从在应用服务器配置好的JNDI数据源datasource获取数据库连接,在生产环境中,优先考虑此方式。

5.mapper元素:映射器,用来定义SQL的映射语句,只需告诉MyBatis去哪里找这个SQL语句,

  (1)使用类资源路径获取资源。

    <mappers>

      <mapper resource="cn/smbms/dao/user/UserMapper.xml" />

    </mappers>

  (2)使用URL获取资源。

    <mappers>

      <mapper url="file:///E:/sqlmappers/UserMapper.xml" />

    </mappers>

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zywpjf.html