您的位置:首页 > 其它

mybatis中配置文件介绍

2017-04-06 18:13 155 查看
MyBatis 配置文件 configuration

<!-- 引入外部资源文件,将数据库配置设为外部链接 -->
<properties resource="db.properties"></properties>
<environment  id= "development" >
<!-- 使用 jdbc事务管理-->
<transactionManager  type = "JDBC"/>
<!-- 数据库连接池-->
<dataSource  type = "POOLED">
<property  name= "driver"   value = "${jdbc.driverClass}"/>
<property  name= "url"    value = "${jdbc.jdbcUrl}"/>
<property  name= "username"    value = "${jdbc.user}" />
<property  name= "password"    value = "${jdbc.password}"/>
</dataSource >
</environment >


<settings>
<!-- 全局映射器启用缓存 -->
<setting name="cacheEnabled" value="true" />
<!-- 查询时,关闭关联对象即时加载以提高性能 -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 设置关联对象加载的形态,此处为按需加载字段 (加载字段由 SQL指 定 ),不会加载关联表的所有字段,以提高性能 -->
<setting name="aggressiveLazyLoading" value="false" />
<!-- 对于未知的 SQL查询,允许返回不同的结果集以达到通用的效果 -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 允许使用列标签代替列名 -->
<setting name="useColumnLabel" value="true" />
<!-- 允许使用自定义的主键值 (比如由程序生成的 UUID 32位编码作为键值 ),数据表的 PK生成策略将被覆盖 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 给予被嵌套的 resultMap以字段 -属性的映射支持 -->
<setting name="autoMappingBehavior" value="FULL" />
<!-- 对于批量更新操作缓存 SQL以提高性能 -->
<setting name="defaultExecutorType" value="BATCH" />
<!-- 数据库超过 25000秒仍未响应则超时 -->
<setting name="defaultStatementTimeout" value="25000" />
</settings>


typeAliases别名处理器

别名是为 Java 类型命名一个短的名字。它只和 XML 配置有关,只用来减少类名重复的部分。

配置了 mybatis-config.xml 会影响XXXMapper.xml 的使用;

mybatis总的配置文件中:
1、
<typeAliases>
<!-- 单独为 Perosn进行别名设置 -->
<typeAlias type ="com.zhao.mybatis.entities.Person"  alias= "Person"/>
</typeAliases>

2、 或者使用如下的方式扫描某个包下的bean,集体配置别名
<typeAliases >
<!--批处理别名,扫描整个包下的类 -->
<package  name= "com.zhao.mybatis.entities"/>
</typeAliases>


myBatis 配置文件介绍

typeHandlers 类型处理器:
用于 java类型和jdbc类型映射,默认已经基本满足Mybatis的映射。

environments 环境变量:
MyBatis可以配置多种环境。这会将SQL映射应用于多种数据库之中。例如,  为开发要设置不同的配置,测试和生产环境。 或者可能有多种生产级数据库却共享 相同的模式, 所以你会想对不同数据库使用相同的SQL映射。但是每个数据库对应一个SqlSessionFactory。

transactionManager 事务管理器:
在MyBatis中有两种事务管理器类型(也就是type=”[JDBC|MANAGED]”):
JDBC –  这个配置直接简单使用了JDBC的提交和回滚设置。 它依赖于从数据源得到的连接来管理事务范围。
MANAGED –  这个配置几乎没做什么。它从来不提交或回滚一个连接。而它会让容器来管理事务的整个生命周期(比如Spring或JAVAEE应用服务器的上下文)默认情况下它会关闭连接。然而一些容器并不希望这样,因此如果你需要从连接中停止它, 将closeConnection属性设置为false 。

dataSource 数据源:
dataSource  元素使用基本的JDBC数据源接口来配置JDBC连接对象的资源。有三种内建的数据源类型
UNPOOLED –  这个数据源的实现是每次被请求时简单打开和关闭连接。它有一点慢,这是对简单应用程序的一个很好的选择,因为它不需要及时的可用连接。不同的数据库对这个的表现也是不一样的,所以对某些数据库来说配置数据源并不重要,这个配置也是闲置的。UNPOOLED类型的数据源仅仅用来配置以下5种属性 :
• driver –  这是JDBC驱动的Java类的完全限定名(如果你的驱动包含,它也不是 数据源类)。
• url –  这是数据库的JDBC_URL地址。
• username –  登录数据库的用户名。
• password –  登录数据库的密码。
• defaultTransactionIsolationLevel –  默认的连接事务隔离级别。作为可选项,你可以传递数据库驱动的属性。要这样做,属性的前缀是以“driver.”开头的,例如:driver.encoding=UTF8这样就会传递以值“UTF8”来传递属性“ encoding”,它通过 DriverManager.getConnection(url,driverProperties)方法传递给数据库驱动。
POOLED –  这是JDBC连接对象的数据源连接池的实现, 用来避免创建新的连接实例时必要的初始连接和认证时间。这是一种当前Web应用程序用来快速响应请求很流行的方法。除了上述(UNPOOLED)的属性之外,还有很多属性可以用来配置 POOLED数据源。poolMaximumActiveConnections,poolMaximumIdleConnections 等等
JNDI –  这个数据源的实现是为了使用如Spring或应用服务器这类的容器 ,容器可以集中或在外部配置数据源,然后放置一个JNDI上下文的引用。这个数据源配置只需要两个属性:
initial_context – 这个属性用来从初始上下文中寻找环境(也就是initialContext.lookup(initial——context)。这是个可选属性,如果被忽略,那么data_source属性将会直接以initialContext为背景再次寻找。
data_source – 这是引用数据源实例位置的上下文的路径。它会以由initial_context查询返回的环境为背景来查找,如果initial_context没有返回结果时,直接以初始上下文为环境来查找。
mappsers:mapper文件的路径,可以使用相对于类路径的资源引用,或者字符表示,或url引用的完全限定名。

<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
资源定位

<mapper url="file:///var/mappers/BlogMapper.xml"/>
文件url定位

<mapper class="org.mybatis.builder.BlogMapper"/>
java类定位

<package name="org.mybatis.builder"/>
java包定位
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: