1.             SqlMapConfigDTD声明

       <?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.             SqlMapDTD声明

       <?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.             XWORKDTD声明

       <!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        BasicDataSourceSqlMapClientFactoryBeanSqlMapClientTemplate

SqlMapClientDaoSupport的子类的sqlMapClientTemplate属性

 

n        BasicDataSourceSqlMapClientFactoryBean

SqlMapClientDaoSupport的子类的sqlMapClient属性

 

n        BasicDataSourceSqlMapClientFactoryBeanSqlMapClientTemplate

→任意类的SqlMapClientTemplate类型的字段

 

n        BasicDataSourceSqlMapClientFactoryBean

→任意类的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无事务的注入顺序

DriverManagerDataSourceJdbcTemplate

→任意类的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+IBatisSpring+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

评论
hua6884858 2008-08-14
DAO对象最好是用接口
baidu12345 2008-06-27
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
baidu12345 2008-06-27
u DAO对象最好是用接口
u 任何类的对象一定要注入到TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的target属性中,否则该类就与代理类无关
u 使用被代理类对象的时候,一定要用Spring主配置文件中TransactionProxyFactoryBean或者是TransactionProxyFactoryBean的子类的对象,代理设置才算有效,否则代理类无效。即一定要引用TransactionProxyFactoryBean类或者其子类对象的id或者name,不能再用被代理类自已的id或者name
u 被代理类只有对数据库进行操作,或者抛出数据库异常时,该代理类才进行回滚
u
发表评论

您还没有登录,请登录后发表评论