首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Ibatis配置文件详解小结和操作方法

2012-10-27 
Ibatis配置文件详解总结和操作方法!DOCTYPE sqlMap????????? PUBLIC -//ibatis.apache.org//DTD SQL Map

Ibatis配置文件详解总结和操作方法

<!DOCTYPE sqlMap??????
??? PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"??????
??? "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!-- 上面的是固定格式配置 -->
<sqlMap namespace="Note">
<!--namespacenamespace是该<sqlMap>的命名空间,因为SQL Map映射文件可以有多个,
而对于SQL Map来说所有映射文件都是全局性的。这意味着在SQL Map中的标识只能是惟一的,
利用namespace和标识的全限定名就可以进行区别,前提是,配置文件中的useStatementNamespaces
属性必须设置为true。 -->
?<typeAlias alias="note" type="com.pk.po.Note" />
?<!- 这个type是全局的命名类? alias相当于type的缩写? 这样在后面用到的时候都可以直接用note->
下面是各种类型的MapSql 查询语句
?<insert id="insertNote" parameterparameterresultparameterparameterparameterparameterresultproperty="title">
????title = #title#
???</isNotNull>
???<isNotNull prepend="AND" property="author">
????author = #author#
???</isNotNull>
???<isNotNull prepend="AND" property="content">
????content = #content#
???</isNotNull>
??</dynamic>
?</select>

</sqlMap>

?

ibatis :SqlMapConfig 配置文件详解?
???? ibatis 与Hibernate 一样只不过 Hibernate是全自动化,ibatis 半自动化。ibatis 有比较灵活的空间可以自由写sql语句。

???? ibatis主要包括

???? 一 sqlMapConfig.xml配置文件,

???? 二 pojo用来与数据库打交道的持久层对象,也是我们通过ibatis要操作的对象。

????? 三 sqlMap.xml配置文件用来自己手动填写sql语句,然后再sqlMapConfig.xml文件中添加这个资源的位置。最后在dao中把参数(也就是pojo)传到该配置文件中。

????? 1.sqlMapConfig.xml配置文件详解:

?????? Xml代码
<?xml version="1.0" encoding="UTF-8"?>???
<!DOCTYPE sqlMapConfig????
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"????
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">???
<sqlMapConfig>???
? <settings????
?? cacheModelsEnabled="true" <!--是否启用缓存机制-->???
?? lazyLoadingEnabled="true" <!--是否启用延迟加载机制-->???
?? enhancementEnabled="true" <!--是否启用字节码增强机制-->???
?? errorTracingEnabled="true" <!--是否启用错误处理机制-->???
?? maxRequests="32" <!--最大并发请求数-->???
?? maxSessions="10" <!--最大Session数-->???
?? maxTransactions="5" <!--最大并发事务数-->???
?? useStatementNamespaces="true"/> <!--是否启用名称空间-->???
? <transactionManager type="JDBC"> <!--定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL)-->???
?? <dataSource type="SIMPLE"> <!--type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI)-->???
??? <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>???
??? <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost/test"/>???
??? <property name="JDBC.Username" value="root"/>???
??? <property name="JDBC.Password" value="wyq"/>???
??? <property name="Pool.MaximumActiveConnections" value="10" /> <!--连接池维持的最大容量-->???
??? <property name="Pool.MaximumIdleConnections" value="5"/> <!--连接池允许挂起的最大连接-->???
??? <property name="Pool.MaximumCheckoutTime" value="120000"/> <!--连接被某个任务所允许占用的最大时间-->???
??? <property name="TimeToWait" value="500"/> <!--线程允许等待的最大时间-->???
????????
</dataSource>???
? </transactionManager>???
? <sqlMap resource="com/wyq/map/userMap.xml"/>???
</sqlMapConfig>???
JNDI的配置大部分都在应用服务器中进行,所以在ibatis中的配置相对简单????
(1)jdbc事务控制的JNDI配置????
???? <transctionManager type="JDBC">???
??????? <dataSource type="JNDI">???
??????????? <property name="DataSource" value="java:comp/env/jdbc/myDataSource"/>???
??????? </dataSource>???
??? </transctionManager>???
(2)JTA事务控制的JNDI配置????
???? <transctionManager type="JTA">???
??????? <property name="UserTransaction" value="java:/ctx/con/UserTransaction"/>???
??????? <dataSource type="JNDI">???
??????????? <property name="DataSource" value="java:comp/env/jdbc/myDataSource"/>???
??????? </dataSource>???
??? </transctionManager>???
? <sqlMap resource="com/wyq/map/userMap.xml"/>???? 指定了映射文件的位置。与hibernate 中hibernate.cfg.xml 无异

sqlMap节点指定了映射文件的位置。

1 楼 THZOP 2012-03-05   真全、、、借用了、、、

热点排行