java如何配置映射⽂件_四、XML映射配置⽂件
MyBatis的XML配置⽂件包含了影响MyBatis⾏为甚深的设置和属性信息。XML⽂档的⾼层级结构如下:
----configuration配置
--------properties属性
--------settings设置
--------typeAliases 类型命名
--------typeHandlers 类型处理器
--------objectFactory对象⼯⼚
--------plugins插件
--------environments环境
------------environment环境变量
-
---------------transactionManager 事务管理器
预祝高考成功的四字词语----------------dataSource数据源
--------映射器
properties
疯狂猜成语一个字这些是外部化的,可替代的属性,这些属性也可以配置在典型的Java属性配置⽂件中,或者通过properties元素的⼦元素来传递。例如:
其中的属性就可以在整个配置⽂件中使⽤,使⽤可替换的属性来实现动态配置。⽐如:
如果在这些地⽅,属性多于⼀个的话,MyBatis按照如下的顺序加载它们:
在properties元素体内指定的属性⾸先被读取。
从类路径下资源或properties元素的url属性中加载的属性第⼆被读取,它会覆盖已经存在的完全⼀样的属性。
作为⽅法参数传递的属性最后被读取,它也会覆盖任⼀已经存在的完全⼀样的属性,这些属性可能是
从properties元素体内和资源/url 属性中加载的。
因此,最⾼优先级的属性是那些作为⽅法参数的,然后是资源/url 属性,最后是properties元素中指定的属性
Settings
这些是极其重要的调整,它们会修改MyBatis在运⾏时的⾏为⽅式。下⾯这个表格描述了设置信息,它们的含义和默认值。
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, environment);
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader, environment,properties);
如果环境被忽略,那么默认环境将会被加载,如下进⾏:
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader);
SqlSessionFactory factory = sqlSessionFactoryBuilder.build(reader,properties);移动营业厅积分兑换
环境元素定义了如何配置环境。
注意这⾥的键:
默认的环境ID(⽐如:default=”development”)。
每个environment元素定义的环境ID(⽐如:id=”development”)。
事务管理器的配置(⽐如:type=”JDBC”)。
数据源的配置(⽐如:type=”POOLED”)。
默认的环境和环境ID是⾃我解释的。你可以使⽤你喜欢的名称来命名,只要确定默认的要匹配其中之⼀。
transactionManager
在MyBatis中有两种事务管理器类型(也就是type=”[JDBC|MANAGED]”):
DBC – 这个配置直接简单使⽤了JDBC的提交和回滚设置。它依赖于从数据源得到的连接来管理事务范围。
MANAGED – 这个配置⼏乎没做什么。它从来不提交或回滚⼀个连接。⽽它会让容器来管理事务的整个⽣命周期(⽐如Spring或JEE应⽤服务器的上下⽂)。默认情况下它会关闭连接。然⽽⼀些容器并不希望这样,因此如果你需要从连接中停⽌它,将closeConnection属性设置为false。例如:
这两种事务管理器都不需要任何属性。然⽽它们都是类型别名,要替换使⽤它们,你需要放置将你⾃⼰的类的完全限定名或类型别名,它们引⽤了你对TransacFactory接⼝的实现类。
public interface TransactionFactory {
void setProperties(Properties props);
下优酷视频Transaction newTransaction(Connection conn, boolean autoCommit);
}
任何在XML中配置的属性在实例化之后将会被传递给setProperties()⽅法。你的实现类需要创建⼀个事务接⼝的实现,这个接⼝也很简单:
public interface Transaction {
Connection getConnection();
void commit() throws SQLException;
汽车车牌void rollback() throws SQLException;
void close() throws SQLException;
涂口红的正确方法}
使⽤这两个接⼝,你可以完全⾃定义MyBatis对事务的处理。
dataSsource
dataSource元素使⽤基本的JDBC数据源接⼝来配置JDBC连接对象的资源。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论