zoukankan      html  css  js  c++  java
  • mybatis11 sqlMapConfig.xml文件说明

    1sqlMapConfig.xml
    
    SqlMapConfig.xml中配置的内容和顺序如下:
    
    properties(属性)
    settings(全局配置参数)
    typeAliases(类型别名)
    typeHandlers(类型处理器)
    objectFactory(对象工厂)
    plugins(插件)
    environments(环境集合属性对象)
    environment(环境子属性对象)
    transactionManager(事务管理)
    dataSource(数据源)
    mappers(映射器)
    1.1properties属性定义
     可以把一些通用的属性值配置在属性文件中,加载到mybatis运行环境内。
    比如:创建db.properties配置数据库连接参数。下面引用这个属性文件。
    属性文件:
    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/mybatis
    jdbc.username=root
    jdbc.password=mysql

    注意: MyBatis 将按照下面的顺序来加载属性:
    在 properties 元素体内定义的属性首先被读取。 
    <properties ><property name="" value=""/></properties>
    然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
    <properties resource="db.properties"></properties> 
    最后读取parameterType(parameterType="cn.itcast.mybatis.po.User")传递的属性,它会覆盖已读取的同名属性。
    
    建议使用properties,不要在properties中定义属性,只引用定义的properties文件中属性,并且properties文件中定义的key要有一些特殊的规则。
    1.1settings全局参数配置
    mybatis运行时可以调整一些全局参数(相当于软件的运行参数),参考:mybatis-settings.xlsx
    根据使用需求进行参数配置(开启缓存,延迟加载等)。
    注意:小心配置,配置参数会影响mybatis的执行。
    
    ibatis的全局配置参数中包括很多的性能参数(最大线程数,最大待时间。。。),通过调整这些性能参数使ibatis达到高性能的运行,mybatis没有这些性能参数,由mybatis自动调节。
    1.1typeAliases(常用)
    
    可以将parameterType、resultType中指定的类型 通过别名引用。
    
    1.1.1mybaits提供了很多别名
    别名    映射的类型
    _byte     byte 
    _long     long 
    _short     short 
    _int     int 
    _integer     int 
    _double     double 
    _float     float 
    _boolean     boolean 
    string     String 
    byte     Byte 
    long     Long 
    short     Short 
    int     Integer(java.iang.Integer) 
    integer     Integer 
    double     Double 
    float     Float 
    boolean     Boolean 
    date     Date 
    decimal     BigDecimal 
    bigdecimal     BigDecimal 
    
    1.1.2自定义别名

    使用别名
    在parameterType、resultType中使用别名:

    typeHandlers(类型处理器)
    类型处理器将java类型和jdbc类型进行映射。
    
    mybatis默认提供很多类型处理器,一般情况下够用了。
    1.1.1mappers
    <!--加载mapper映射
        如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。
         -->
        <mappers>
            <!-- resource是classpath,通过resource加载mapper的映射文件 -->
            <mapper resource="sqlmap/User.xml" />
            <!-- <mapper resource="mapper/UserMapper.xml" /> -->
            <!-- 通过class引用mapper接口 
            class:配置mapper接口全限定名
            要求:需要mapper.xml和mapper.java同名并且在一个目录 中
            -->
            <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> -->
            <!-- 批量mapper配置 
            通过package进行自动扫描包下边的mapper接口,
            要求:需要mapper.xml和mapper.java同名并且在一个目录 中
            这样就加载了映射文件。
            -->
            <package name="cn.itcast.mybatis.mapper"/>
            
            
        </mappers>

     SqlMapsinfig.xml文件

    <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    
        <!-- 属性定义
        加载一个properties文件,
        也可以在 properties标签 中配置属性值
        jdbc.driver=com.mysql.jdbc.Driver
        jdbc.url=jdbc:mysql://localhost:3306/mybatis
        jdbc.username=root
        jdbc.password=mysql
         -->
        <properties resource="db.properties">
            <!-- <property name="" value=""/> -->
        </properties>
        
        <!-- 定义 别名 -->
        <typeAliases>
            <!--
            单个别名的定义
            alias:别名,type:别名映射的类型  -->
            <!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> -->
            <!-- 批量别名定义
            指定包路径,自动扫描包下边的pojo,定义别名,别名默认为类名(首字母小写或大写)
             -->
            <package name="cn.itcast.mybatis.po"/>
            
        </typeAliases>
        
        <!-- 和spring整合后 environments配置将废除-->
        <environments default="development">
            <environment id="development">
            <!-- 使用jdbc事务管理-->
                <transactionManager type="JDBC" />
            <!-- 数据库连接池-->
                <dataSource type="POOLED">
                    <!-- 数据库连接参数 -->
                    <property name="driver" value="${jdbc.driver}"/>
                    <property name="url" value="${jdbc.url}"/>
                    <property name="username" value="${jdbc.username}"/>
                    <property name="password" value="${jdbc.password}"/>
                </dataSource>
            </environment>
        </environments>
        
        <!--加载mapper映射
        如果将和spring整合后,可以使用整合包中提供的mapper扫描器,此处的mappers不用配置了。
         -->
        <mappers>
            <!-- resource是classpath,通过resource加载mapper的映射文件 -->
            <mapper resource="sqlmap/User.xml" />
            <!-- <mapper resource="mapper/UserMapper.xml" /> -->
            <!-- 通过class引用mapper接口 
            class:配置mapper接口全限定名
            要求:需要mapper.xml和mapper.java同名并且在一个目录 中
            -->
            <!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> -->
            <!-- 批量mapper配置 
            通过package进行自动扫描包下边的mapper接口,
            要求:需要mapper.xml和mapper.java同名并且在一个目录 中
            这样就加载了映射文件。
            -->
            <package name="cn.itcast.mybatis.mapper"/>
            
            
        </mappers>
        
        
    </configuration>
  • 相关阅读:
    docker 部署aps.net MVC到windows容器
    docker 搭建私有仓库 harbor
    解决关于:Oracle数据库 插入数据中文乱码 显示问号???
    ionic cordova build android error: commamd failed with exit code eacces
    cordova build android Command failed with exit code EACCES
    Xcode 10 iOS12 "A valid provisioning profile for this executable was not found
    使用remix发布部署 发币 智能合约
    区块链: 编译发布智能合约
    mac 下常用命令备忘录
    JQuery fullCalendar 时间差 排序获取距当前最近的时间。
  • 原文地址:https://www.cnblogs.com/yaowen/p/4869539.html
Copyright © 2011-2022 走看看