zoukankan      html  css  js  c++  java
  • MyBatis(4)——配置文件优化

    配置文件优化

    执行流程:读取配置流程—>sqlSessionFactory—>sqlSession(连接、读取sql并执行相应操作、关闭)

    a)配置优化:通过中文参考指南的说明可知—>Properties的多项配置可通过导入外置properties文件替换(利用properties标签的resource属性),例如:

    //------------核心配置文件------------//
    
    
    <configuration>
      <!-- environments指mybatis可以配置多个环境,
    default指向默认的环境每个SqlSessionFactory对应一个环境environment -->
     //关键1
      <properties resource="db.properties" ></properties>
    <environments default="development">
        <environment id="development">
        <!-- JDBC 这个配置直接使用JDBC的提交和回滚功能,它依赖与从数据源获得链接来管理事务的生命周期。
      		MANAGED-这个配置基本什么都不做,它从不提交或者回滚一个连接的事务,
      		而是让容器(例如Spring或者J2EE应用服务器)来管理事务的生命周期 -->
      		
          <transactionManager type="JDBC"/>
          <dataSource type="POOLED">
          <!-- UNPOOLED这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接。
          		POOLED  这个数据源缓存JDBC连接对象用于避免每次都要连接和生成连接实例而需要的验证时间-->
          	//关键2
            <property name="driver" value="${driver}"/>
            <property name="url" value="${url}"/>
            <property name="username" value="${username}"/>
            <property name="password" value="${password}"/>
            
          </dataSource>
        </environment>
    <mappers>
    <!-- 定义映射SQL语句的文件 -->
    <mapper resource="cn/aaa/entity/User.mapper.xml"/>
    </mappers>
    </configuration>
    //------------properties配置文件------------//
    
    driver=com.mysql.jdbc.Driver 
    url=jdbc:mysql://localhost:3306/aaaa 
    username=root 
    password=aaaa
    

    b)别名优化——的使用:为指定类型命名“别名”,使得在mapper映射文件的key简化引用,通过中文参考指南说明可知—>可通过指定标签属性实现,例如:

    //------------核心配置文件------------//
    
    //*在configuration标签中引用
    //*此处的(1)与(2)是两种方式,请只选择一种使用或者使用不同路径尝试两种方式
    
    <!-- 指定别名,简化mapper引用 -->
      <typeAliases>
      	<typeAlias alias="User" type="cn.aaa.entity.User"/>------(1)
      	<!-- 为某个包下的所有类命名“别名”,默认别名是对应的类名,即cn.aaa.entity.User可直接用User表示 -->
      	<package name="cn.aaa.entity" />-------------------------(2)
      </typeAliases>
    //------------映射文件------------//
    
    //*resultType引用由"cn.aaa.entity.User"--->"User"
    
    <!--查询语句 -->
    <select id="selectAll" resultType="User">
    select * from users
    </select>
    
  • 相关阅读:
    触摸事件传递与响应者链条
    运动事件Motion Events
    手势识别
    MVC模式
    单例模式
    观察者模式(一对多)
    关于多线程的介绍
    Sandbox简介和路径获取
    NSFileManager和NSFileHandle使用
    归档储存
  • 原文地址:https://www.cnblogs.com/inkqx/p/12316444.html
Copyright © 2011-2022 走看看