微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mybatis-config.xml 详解


配置头信息
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">

configuration配置的顺序如下
    1、 properties属性
    2、 settings设置
    3、 typeAliases类型命名
    4、 typeHandlers类型处理器
    5、 objectFactory对象工厂
    6、 plugins插件
    7、 environments环境
        a。 environmen环境变量
            I.    transactionManager事物管理器
            II.    dataSource数据源
    8、 databaseIdProvider 数据库厂商标识
    9、 mappers映射器


1、properties属性
    作用:引入xxx.properties外部文件文件格式为xxx=xxx

    <properties resource="database.properties">    =====>引入外部文件(同级目录)
        <property name="mapper.path" value="com.dsb.test.entity.dao"></property> ====>引入外部文件路径并重命名
    </properties>
    
    
    
2、settings属性
    作用: 改变mybatis的运行时行为
    
    <settings>
        <setting name="logImpl" value="LOG4J" /> ====>指定MyBatis所用的日志具体实现,未指定时将自动查找
    </settings>
    
    
    
3、typeAliases属性
    意义:仅在于用来减少类完全限定名的冗余。
    
    <typeAliases>
        <typeAlias alias="Test" type="com.dsb.test.Test" /> ====>为类取别名
        
        <package name="com.dsb.test.bean" /> =====>指定包名,mybatis会自动搜索需要的java文件
    </typeAliases>
    
    
    
4、typeHandlers属性
    作用:将获取的值映射到java类型或者JDBC类型
    
    <typeHandlers>
        <typeHandler handler="org.mybatis.handler.DateTypeHandler" javaType="String" />
        <typeHandler handler="org.mybatis.handler.DateTypeHandler" jdbcType="varchar" />
    </typeHandlers>
    
    
    
    
5、objectFactory属性(一般很少用)
    作用:实例化目标类
    
    <objectFactory>
        <propery name="id" value="test" />
    </objectFactory>
    
    
    
    
    
    
6、plugins属性(一般很少用))
    作用:类似拦截器的效果,可以实现在mybatis的整个运行流程中的某些指定位置进行拦截
    
    <plugins>
        <plugin interceptor="org.mybatis.handler.MyPlugins">
            <property name="id" value="123"/>
        </plugin>
    </plugins>
    
    
    
    
    
7、environments属性
    作用:适应多种环境,有助于将sql映射应用于多用数据库
    
    <environments default="development">    ====>认development
        <environment id="development">        ====>认development
            <transactionManager type="JDBC">    ====>事物管理器
            </transactionManager>
            
            <dataSource type="POOLED">        ====>数据源
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
            
        </environment>
    </environments>
    
    三种内建的数据源类型;
        1、UNPOOLED:    每次被请求时打开和关闭连接
        
        2、POOLED: 利用"池"的概念将JDBC连接对象组织起来,避免了创建新的连接实例时所必须的初始化和认证时间
        
        3、JNDI: 为了能在如EJB或应用服务器这类容器中使用,容器可以集中在外部配置数据源,然后放置一个JNDI上下文的引用
    
    
    
    
8、databaseIdProvider属性
    作用:可以根据不同的数据库厂商执行不同的语句
    
    <databaseIdProvider type="DB_vendOR">
        <property name="sql Server" value="sqlserver/>
        <property name="DB2" value="db2"/>
        <property name="MysqL" value="MysqL"/>
        <property name="Oracle" value="oracle"/>
    </databaseIdProvider>
    
    
    
9、mappers属性
    作用:告诉mybatis去哪里找映射文件
    
    <mappers>
        <mapper resource="com/dsb/test/entity/dao/test1.xml>
        <mapper class="com.dsb.test.entity.dao.testMapper2>
        <mapper url="file:///com/dsb/test/entity/dao/test1.xml>
        <package name="com.dsb.test.entity.dao">
    </mappers>


简单配置
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <typeAlias alias="Student" type="com.dsb.test.entity.Student" />
    </typeAliases>
    
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.MysqL.jdbc.Driver" />
                <property name="url" value="jdbc:MysqL://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="test123" />
            </dataSource>
        </environment>
    </environments>
    
    <mappers>
        <mapper resource="com/dsb/test/entity.dao/StudentMapper.xml" />
    </mappers>
</configuration>
    
    
参考于:
https://www.cnblogs.com/lujiango/p/8630154.html
https://blog.csdn.net/yqynsmile/article/details/52807815 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。