zoukankan      html  css  js  c++  java
  • MyBatis全局配置文件mybatis-config.xml

    1.在官方下载的mybatis-3.4.5.zip压缩包中,有我们需要的mybatis核心jar包和mybatis的快速入门的pdf文件

    mybatis的快速入门的pdf文件中,复制如下代码到我们项目中的mybatis-config.xml文件中

    以上就是我们需要的简单的全局配置文件的格式

    2.按住CRTL+鼠标左键点击全局配置文件的约束文件的链接:

    http://mybatis.org/dtd/mybatis-3-config.dtd将文件下载到本地

    或者直接解压我们下载的mybatis-3.4.5.zip压缩包,然后在解压后的文件夹中找到mybatis-3.4.5.jar,使用将其解压,在解压后的文件夹中,mybatis-3.4.5orgapacheibatisuilderxml路径下找到mybatis-3-config.dtd文件

    3.向我们编写的mybatis-config.xml文件中关联dtd约束文件

    现在按住alt+/就会出现提示

    4.查看官方文档 Configuration XML章节,可以查看MyBatis-config.xml文件中允许使用的节点信息

    4-1:properties节点

    1.MyBatis可以使用properties来引入外部properties配置文件的内容

    resource:引入类路径下的资源

    url:引入网路路径或者磁盘路径下的资源

    我们之前写的mybatis-config.xml全局配置文件,如下:

    把jdbc的相关信息已经写死,现在我们可以使用properties来引入类路径下的资源

    jdbc的相关信息写成*.properties配置文件,使用properties节点将其引入

    Jdbc配置文件如下

    改写后的mybatis-config.xml文件如下:

    4-2:settings节点

    settings包含很多重要的设置项

     setting:用来设置每一个设置项

      name:设置项名

      value:设置项取值

    例如:

    这是设置可以自动的将数据库的列明为A_COUNT,带下划线的列,自动转成驼峰命名aCountjavaBean进行匹配

    其他还有很多重要的设置项,需要时查官方的文档

    4-3:typeAliases节点

    别名处理器,可以为我们的java类型起别名,别名不区分大小写

    01 typeAlias为某个java类型起别名

      typeAlias节点中的属性

       type:指定要起别名的类型全类名,默认别名是就是类名全小 写:emp

       alias:指定新的别名

    例如,我们之前写的empMapper.xml文件中

    可以使用Mybatis-config.xml全局配置文件为这个全限定类名起别名

    现在我们的empMapper.xml可以改写为

    02 typeAliases下还有一个package标签

      批量起别名

      package:为某个包下的类批量起别名

      name属性:指定包名,为当前包以及所有的后代包中的类都起一个 默认别名(默认别名就是类名的全小写)

    例如:cn.bdqn.mybatis.been包下的所有类起别名

      <typeAliases>

    <package name="cn.bdqn.mybatis.been"/>

      </typeAliases>

    但是如果两个后代包中都同时有一个emp的话就会产生冲突,这时可以在某一个同名类中使用注解的方法为其起别名

    MyBatis已经为基本数据类型和其包装类以及一些常用的类起好别名,请查看官网帮助文档

    建议别用别名,使用全类名方式

    4-4:  typeHandlers节点 类型处理器

    java中的类型处理成数据库中的类型 例如String处理成为数据库中的varchar类型等.

    可以手动进行注册和重写

    4-4: plugins

    这里暂时不做笔记

    待后续

    4-5:environments环境们,mybatis可以配置多种环境,default属性可以指定使用某种环境,从而达到快去进行环境的切换

    environment:配置具体的环境信息;必须有两个标签:transactionManager dataSource,id属性代表当前环境的唯一标识

    transactionManager:事务管理器;type属性代表事务管理器的类型,可以有两种取值JDBC(JdbcTransactionFactory)|MANGED(ManagedTransactionFactory),其实JDBCMANGED是两个别名 

    自定义事务管理器,只需要实现TransactionFactory接口,Type指定全类名

     dataSource 数据源

      type:数据源类型,官方提供三种UNPOOLED|POOLED|JNDI  这三个也是别名

    可以自定义数据源:实现DataSourceFactory接口,type就是我们自定义数据源的全类名

    4-6:databaseIdProvider节点 支持多数据库厂商

    type="DB_VENDOR",DB_VENDOR也是别名,指的VendorDatabaseIdProvider这个类

      作用就是得到数据库厂商的标识(驱动自带),Mybatis就能根据数据库厂商标识来执行不同的sql

    property.为不同的数据库厂商起别名

    例如:

    然后到映射文件中进行修改

    4-7:mapper将我们写好的SQL映射文件(empMapper.xml)一定要注册到全局配置文件中 (mybatis-config.xml)

    mappers:sql映射注册到全局配置中

    注册文件:

    resource:引入类路径下的sql映射文件

    url:引用网络路径或磁盘路径下的sql映射文件

    注册接口:

    class:直接引用(注册)接口

    1.sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下;

    2.没有sql映射文件,所有的sql都是利用注解写在接口上

    推荐:比较重要的DAO接口我们来写SQL映射文件

    不重要的,简单的dao接口为来快速开发可以使用注解

    package 批量注册有sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下;

    name用来指定包名

  • 相关阅读:
    Parcel与Parcelable剖析
    Binder文集
    Charles 使用教程
    AsyncTask
    Android 编译时注解
    scanf(),gets(),getchar()
    银行家算法
    最长公共子序列(LCS)问题
    动态规划 求解数字三角形最大值
    参数 存在二维数组
  • 原文地址:https://www.cnblogs.com/zqr99/p/7578398.html
Copyright © 2011-2022 走看看