一、SqlSession的使用范围说明

 1、SQLSessionFactoryBuilder

  通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory,将SqlSessionFactoryBuilder当成一个工具类使用即可,不需要使用单例模式管理,在创建SqlSessionFactory的时候,只需要new一次SqlSessionFactoryBuilder即可。

 2、SqlSessionFactory

  通过SqlSessionFactory创建SqlSession,使用单例模式来管理SqlSessionFactory(工厂一旦创建,只使用一个实例)。

 3、SqlSession

  SqlSession是一个面向用户(程序员)的接口。
  SqlSession中提供了很多操作数据库的方法:如selectOne(返回单个对象)、selectList(返回单个或多个对象)。
  SqlSession是线程不安全的,因为在SqlSession中除了有接口中的方法(操作数据库的方法)之外。还有数据域属性。
  SqlSession的最佳应用场合是在方法体内,将其定义为局部变量来使用。

二、SqlMapConfig.xml配置文件详解

 1、Properties属性

  Properties属性用来加载属性配置文件。

 <!--

        加载属性文件

        resource:属性文件的相对路径

        url:属性文件的绝对路径

     -->

    <properties resource="config/db.properties">

        <!--

            配置一些属性

            name:属性的名称

            value:属性的值

        -->

        <!--<property name="" value="" /> -->

    </properties>

  

  properties特性:
   Mybatis将按照下面的属性来加载属性:
   1. 首先会读取在property标签中定义的属性。
   2. 然后会读取在properties标签中通过resource或url加载时的属性,它会覆盖已读取得同名属性。
   3. 最后会读取sql中parameterType传递过来的属性,它会覆盖已读取的同名属性。

  2、settings全局参数配置

  Mybatis框架在运行时可以调整一些运行参数,比如:开启二级缓存、开启延迟加载等。这些参数要通过settings标签来配置,全局参数会影响Mybatis的运行行为,配置一定要注意。

  常用的全局配置参数如下:

<!--全局参数配置-->

    <settings >

            <!--

                name:属性名称

                value:属性的值

            -->

        <setting name="" value=""/>

    </settings>

  

3、typeAlia

  在映射文件中的parameterType和resultType属性中要指定输入、输出映射类型,如果类型为PO,要指定PO类的全路径这样不是特别方便,可以使用typeAlias定义一些别名,来方便开发。

<!--定义别名-->

    <typeAliases>

        <!--

            type:需要起别名的字符串

            alias:对应的别名

        -->

        <typeAlias type="" alias="" />

        <!--

            name:包名,会对包下面的类进行扫描,自动批量设置别名,

                设置的别名为类名,首字母大小写均可

        -->

        <package name="" />

    </typeAliases>

  Mybatis的默认别名

  

 4、typeHandlers(类型处理器)

  Mybatis中通过typeHandlers完成jdbc类型和Java类型的装换。通常情况下,Mybatis提供的类型处理器满足日常需要,不需要我们再自定义。

<typeHandlers>

        <typeHandler handler="" jdbcType="" javaType="" />

    </typeHandlers>

  Mybatis默认支持的数据类型

  

5、environments 环境

<!--

        环境配置

        在和Spring整合后改配置将废除

    -->

    <environments default="development">

        <environment id="development">

            <!--使用JDBC的事务管理,事务管理交给Mybatis-->

            <transactionManager type="JDBC"></transactionManager>

            <!--数据库连接池,有Mybatis管理-->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.jdbc.Driver" />

                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />

                <property name="username" value="root" />

                <property name="password" value="root" />

            </dataSource>

        </environment>

</environments>

  

6、mapper 加载映射文件

  加载映射文件有三种方式

  1、加载单个映射文件

 <!--引入mapper-->

    <mappers>

        <!--rerource:引入映射文件相对于classpath的地址-->

        <mapper resource="config/sqlmap/userMapper.xml" />

</mappers>

  

 2、通过Mapper接口加载单个映射文件
  前提条件:
   (1). 使用Mapper代理的方式进行开发。
   (2). Mapper接口文件名要和映射文件名一致
   (3).Mapper接口文件和映射文件在同一个目录下

 <!--引入mapper-->

    <mappers>

        <mapper class="com.jack.po.UserMapper" />

</mappers>

  

  3、批量记载映射文件
  前提条件:
   (1). 使用Mapper代理的方式进行开发。
   (2). Mapper接口文件名要和映射文件名一致
   (3).Mapper接口文件和映射文件在同一个目录下

  <!--引入mapper-->

    <mappers>

        <!--name:mapper接口文件所在的包路径-->

      <package name="" />

    </mappers>

  本文来自上海尚学堂Java学员原创

Mybatis配置详解的更多相关文章

  1. 一、Mybatis配置详解

    Mybatis配置详解 XML配置文件层次结构 下图展示了mybatis-config.xml的全部配置元素 properties元素 properties是一个配置属性的元素,让我们能在配置文件的上 ...

  2. spring mvc+myBatis配置详解

    一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...

  3. Spring Boot整合Mybatis配置详解

    首先,你得有个Spring Boot项目. 平时开发常用的repository包在mybatis里被替换成了mapper. 配置: 1.引入依赖: <dependency> <gro ...

  4. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  5. mybatis 代码生成器(IDEA, Maven)及配置详解(部分配置你应该不知道)

    目录 1 创建代码生成器 1.1 创建Maven项目 1.2 配置 generator.xml 1.3 配置 pom.xml 1.4 使用及测试 2 XML 配置详解 2.1 优先 2.2 官网没有的 ...

  6. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  7. Spring MVC、MyBatis整合文件配置详解

    Spring:http://spring.io/docs MyBatis:http://mybatis.github.io/mybatis-3/ Building a RESTful Web Serv ...

  8. Mybatis中接口和对应的mapper文件位置配置详解

    Mybatis中接口和对应的mapper文件位置配置详解 原链接为:https://blog.csdn.net/fanfanzk1314/article/details/71480954 今天遇到一个 ...

  9. 深入浅出Mybatis系列四-配置详解之typeAliases别名(mybatis源码篇)

    注:本文转载自南轲梦 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 上篇文章<深入浅出Mybatis系列(三)---配置详解之properties ...

随机推荐

  1. (转)go rabbitmq实践

    转载自:http://www.cnblogs.com/shi-meng/p/4800080.html 1:驱动 本来打算自己写一个驱动的,后来发现github上面已经有了,那我就直接拿现成的了, 驱动 ...

  2. Web安全学习计划

    http://cisps.org/bbs/viewtopic.php?f=71&t=26125 标题为Web安全学习计划,实属我的愿望:将下面这份Web学习清单完善成为一个Web安全,学习计划 ...

  3. 关于Django Web应用架构设计开发的几个问题

    1.关于分层,做过传统JEE应用的同学肯定知道JEE应用会分很多个设计层.根据传统Web应用架构设计一般从上到下分这么几个层(太懒了,不画图了):Web前端层.Web后端交互层.业务层.基础数据设施层 ...

  4. JavaScript函数节流和函数防抖之间的区别

    一.概念解释  函数节流和函数防抖,两者都是优化高频率执行js代码的一种手段.  大家大概都知道旧款电视机的工作原理,就是一行行得扫描出色彩到屏幕上,然后组成一张张图片.由于肉眼只能分辨出一定频率的变 ...

  5. QString与string的相互转换

    1.QString转换String string s = qstr.toStdString(); 2.String转换QString QString qstr2 = QString::fromStdS ...

  6. 对Python这门课程的理解。

    这门课程是现在热门,对之后的就业和利用的帮助还是很大的. 希望能学完整本书并且能学以致用,而不是单单只获得理论知识. 学完之后能用于数据库.大数据处理.图形编程等等

  7. 小隐隐于野:基于TCP反射DDoS攻击分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

  8. Python和Java的硬盘夜话

    这是一个程序员的电脑硬盘,在一个叫做"学习"的目录下曾经生活着两个小程序,一个叫做Hello.java,即Java小子:另外一个叫做hello.c ,也就是C老头儿. C老头儿的命 ...

  9. java.util.concurrent.Executors类的常用方法介绍

    Java 线程池 Executors提供了几种线程池实现? 5个,分别如下 1.newCachedThreadPool:创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收 ...

  10. spring cloud中利用sidecar整合异构语言(转)

    用spring cloud sidecar的整合异构语言,以前做过没有做笔记,现在再做由于各种坑又浪费了一天,这里记一下 首先是官网:http://cloud.spring.io/spring-clo ...