Spring+IBatis+webwork配置
1. SqlMapConfig的DTD声明
<?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">
2. SqlMap的DTD声明
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
3. XWORK的DTD声明
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
4. 常见的编码声明
Ø 设置一个Servlet编码过滤器
在doFilter函数中,设置:
Request对象. setCharacterEncoding(“GBK”);
Response对象. setCharacterEncoding(“GBK”);
Ø Java编程式编码(硬编码)
Ø 容器编码
Ø 页面编码
5. Spring+IBatis无事务四种注入顺序
n BasicDataSource→SqlMapClientFactoryBean→SqlMapClientTemplate
→SqlMapClientDaoSupport的子类的sqlMapClientTemplate属性
n BasicDataSource→SqlMapClientFactoryBean
→SqlMapClientDaoSupport的子类的sqlMapClient属性
n BasicDataSource→SqlMapClientFactoryBean→SqlMapClientTemplate
→任意类的SqlMapClientTemplate类型的字段
n BasicDataSource→SqlMapClientFactoryBean
→任意类的SqlMapClient类型的sqlMapClient属性
需要注入的属性
Ø BasicDataSource需要注入的属性(JDBC驱动方式)
u dirverClassName 数据库驱动类
u url 连接数据库的URL
u username
u password
Ø JndiObjectFactoryBean需要注入的属性(JNDI驱动方式)
u jndiName JNDI的名称
Ø SqlMapClientFactoryBean需要注入的属性
u dataSource---BasicDataSource类型
u configLocation--IBatis主配置文件文件的路径,
写法classpath:IBatis主配置文件
Ø SqlMapClientTemplate需要注入的属性
u sqlMapClient---SqlMapClientFacotryBean类型
注意点
u 如果是Spring结合IBatis,则IBatis主配置文件中transationManager结点不能存在
u 如果选择JNDI驱动,注入的时候只要将BasicDataSource替换成JndiObjectFactoryBean
6. Spring+JDBC无事务的注入顺序
DriverManagerDataSource→JdbcTemplate
→任意类的JdbcTemplate类型字段
需要注入的属性
Ø DriverManagerDataSource需要注入的属性
u dirverClassName 数据库驱动类
u url 连接数据库的URL
u username
u password
Ø JndiObjectFactoryBean需要注入的属性(JNDI驱动方式)
u jndiName JNDI的名称
Ø JdbcTemplate需要注入的属性
u dataSource
注意点
u 如果选择JNDI驱动,注入的时候只要将BasicDataSource替换成JndiObjectFactoryBean
7. Spring+IBatis,Spring+JDBC 启用Spring事务代理注入顺序(声明式事务)
BasicDataSource->DataSourceTransactionManager->TransactionProxyFactoryBean
需要注入的属性
Ø DataSourceTransactionManager(事务管理器)需要注入的属性
u dataSource—数据源,可以是Ibatis,或者是JDBC的数据源
Ø TransactionProxyFactoryBean(事务代理)需要注入的属性
u transactionManager--PlatformTransationManager类型,即事务管理器
u target--要代理的对象
u transactionAttributes
<property name="transactionAttributes">
<!--定义被代理的类中的各种方法使用的事务定义方式 -->
<!—key值支持正则表达式à
<!—prop的值是事务属性定义à
<props>
<prop key="Insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="select*">PROPAGATION_SUPPORTS,readOnly</prop>
<prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
</props>
</property>
Spring事务注意点
u DAO对象最好是用接口
u 任何类的对象一定要注入到TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的target属性中,否则该类就与代理类无关
u 使用被代理类对象的时候,一定要用Spring主配置文件中TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的对象,代理设置才算有效,否则代理类无效。即一定要引用TransactionProxyFactoryBean类或者其子类对象的id或者name,不能再用被代理类自已的id或者name
u 被代理类只有对数据库进行操作,或者抛出数据库异常时,该代理类才进行回滚
u span
评论
<?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">
2. SqlMap的DTD声明
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
3. XWORK的DTD声明
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN"
"http://www.opensymphony.com/xwork/xwork-1.0.dtd">
4. 常见的编码声明
Ø 设置一个Servlet编码过滤器
在doFilter函数中,设置:
Request对象. setCharacterEncoding(“GBK”);
Response对象. setCharacterEncoding(“GBK”);
Ø Java编程式编码(硬编码)
Ø 容器编码
Ø 页面编码
5. Spring+IBatis无事务四种注入顺序
n BasicDataSource→SqlMapClientFactoryBean→SqlMapClientTemplate
→SqlMapClientDaoSupport的子类的sqlMapClientTemplate属性
n BasicDataSource→SqlMapClientFactoryBean
→SqlMapClientDaoSupport的子类的sqlMapClient属性
n BasicDataSource→SqlMapClientFactoryBean→SqlMapClientTemplate
→任意类的SqlMapClientTemplate类型的字段
n BasicDataSource→SqlMapClientFactoryBean
→任意类的SqlMapClient类型的sqlMapClient属性
需要注入的属性
Ø BasicDataSource需要注入的属性(JDBC驱动方式)
u dirverClassName 数据库驱动类
u url 连接数据库的URL
u username
u password
Ø JndiObjectFactoryBean需要注入的属性(JNDI驱动方式)
u jndiName JNDI的名称
Ø SqlMapClientFactoryBean需要注入的属性
u dataSource---BasicDataSource类型
u configLocation--IBatis主配置文件文件的路径,
写法classpath:IBatis主配置文件
Ø SqlMapClientTemplate需要注入的属性
u sqlMapClient---SqlMapClientFacotryBean类型
注意点
u 如果是Spring结合IBatis,则IBatis主配置文件中transationManager结点不能存在
u 如果选择JNDI驱动,注入的时候只要将BasicDataSource替换成JndiObjectFactoryBean
6. Spring+JDBC无事务的注入顺序
DriverManagerDataSource→JdbcTemplate
→任意类的JdbcTemplate类型字段
需要注入的属性
Ø DriverManagerDataSource需要注入的属性
u dirverClassName 数据库驱动类
u url 连接数据库的URL
u username
u password
Ø JndiObjectFactoryBean需要注入的属性(JNDI驱动方式)
u jndiName JNDI的名称
Ø JdbcTemplate需要注入的属性
u dataSource
注意点
u 如果选择JNDI驱动,注入的时候只要将BasicDataSource替换成JndiObjectFactoryBean
7. Spring+IBatis,Spring+JDBC 启用Spring事务代理注入顺序(声明式事务)
BasicDataSource->DataSourceTransactionManager->TransactionProxyFactoryBean
需要注入的属性
Ø DataSourceTransactionManager(事务管理器)需要注入的属性
u dataSource—数据源,可以是Ibatis,或者是JDBC的数据源
Ø TransactionProxyFactoryBean(事务代理)需要注入的属性
u transactionManager--PlatformTransationManager类型,即事务管理器
u target--要代理的对象
u transactionAttributes
<property name="transactionAttributes">
<!--定义被代理的类中的各种方法使用的事务定义方式 -->
<!—key值支持正则表达式à
<!—prop的值是事务属性定义à
<props>
<prop key="Insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="select*">PROPAGATION_SUPPORTS,readOnly</prop>
<prop key="get*">PROPAGATION_SUPPORTS,readOnly</prop>
</props>
</property>
Spring事务注意点
u DAO对象最好是用接口
u 任何类的对象一定要注入到TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的target属性中,否则该类就与代理类无关
u 使用被代理类对象的时候,一定要用Spring主配置文件中TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的对象,代理设置才算有效,否则代理类无效。即一定要引用TransactionProxyFactoryBean类或者其子类对象的id或者name,不能再用被代理类自已的id或者name
u 被代理类只有对数据库进行操作,或者抛出数据库异常时,该代理类才进行回滚
u
u 任何类的对象一定要注入到TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的target属性中,否则该类就与代理类无关
u 使用被代理类对象的时候,一定要用Spring主配置文件中TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的对象,代理设置才算有效,否则代理类无效。即一定要引用TransactionProxyFactoryBean类或者其子类对象的id或者name,不能再用被代理类自已的id或者name
u 被代理类只有对数据库进行操作,或者抛出数据库异常时,该代理类才进行回滚
u
发表评论
- 浏览: 7355 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
Spring+IBatis+webwork ...
DAO对象最好是用接口
-- by hua6884858 -
Ext2.0是一个JS框架Grid
……
-- by walkes -
配制weblogic
...
-- by hushang12345 -
Spring+IBatis+webwork ...
1. SqlMapConfig的DTD声明 ...
-- by baidu12345 -
Spring+IBatis+webwork ...
u DAO对象最好是用接口 u 任何类的对象一定要注入到 ...
-- by baidu12345






评论排行榜