- 浏览: 1305867 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
kay11:
...
JAVA生成简单的随机字符串(a-zA-Z0-9) -
zhangliguoaccp:
您好关于登录页面的验验证码这块怎么解决的?还有登录成功后,跳转 ...
JAVA,模拟HTTP登录 -
107x:
不错,谢谢!
<c:foreach 循环 map -
wenjin:
不知楼主是不还在想请叫一下我自己开的Tomcat下载一个文件C ...
Android 下载文件及写入SD卡 -
zyywgf:
JSTL c标签,fn标签,fmt标签
Spring框架中Dao支持总结:
Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结: 一、在Spring框架中实现连接数据库方式: 1、、借助类HibernateDaoSupport的简约化实现: 借助这个类必须需要HIbernate框架,用到HIbernate里提供的HibernateTemplate模板,从而进行增、删、改、查操作。 TestA.java: public class TestA extends HibernateDaoSupport{ public void test(){ HibernateTemplate template = this.getHibernateTemplate(); List list = template.find("from User"); for(int i=0;i<list.size();i++){ User u = (User)list.get(i); System.out.println(u.getUserid()+" "+u.getEmail()); } } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA t = (TestA)ctx.getBean("testa"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:
applicationContext.xml: <bean id="testa" class="com.sun.demo.TestA"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> 2、、借助类JdbcDaoSupport的简约化实现:
借助这个类不需要HIbernate框架,也不需要有ORM的对象关联映射。但它和HibernateDaoSupport很类似,有JdbcTemplate来实现增、删、改、查操作。 TestA.java: public class TestA extends JdbcDaoSupport{ public void test(){ int n = this.getJdbcTemplate().queryForInt("select max(userid) from User"); System.out.println(n); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA ta = (TestA)ctx.getBean("testa"); ta.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml: <bean id="testa" class="com.sun.demo.TestA"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> 二、编程式事务管理、声明式事务管理中HibernateDaoSupport与JdbcDaoSupport的应用: 1、编程式事务管理: 1>、JdbcDaoSupport编程式事物管理,必须继承JdbcDaoSupport类,得到JdbcTemplate从而实现事务管理; TestA.java: public class TestA extends JdbcDaoSupport{ public void test(){ PlatformTransactionManager ptm = new DataSourceTransactionManager(this.getDataSource()); TransactionTemplate tst = new TransactionTemplate(ptm); tst.execute(new TransactionCallback(){ public Object doInTransaction(TransactionStatus status) { getJdbcTemplate().update("update User set password='1230' where userid='1001'"); getJdbcTemplate().update("update User set email='4444444444444444444444444444444444' where userid='1002'"); getJdbcTemplate().update("update User set phone='phone'"); return null; } }); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA t = (TestA)ctx.getBean("testa"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml: <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> ... ... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> <bean id="testa" class="com.sun.demo.TestA"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> 2>、HibernateDaoSupport编程式事物管理,必须继承HibernateDaoSupport类,得到HibernateTemplate从而实现事务管理; TestB.java:
public class TestB extends HibernateDaoSupport{ public void test(){ HibernateTransactionManager hm = new HibernateTransactionManager(this.getSessionFactory()); TransactionTemplate ttm = new TransactionTemplate(hm); ttm.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus status) { User u1 = new User(); u1.setUserid("3001"); u1.setPassword("3001"); getHibernateTemplate().save(u1); User u2 = new User(); u2.setUserid("3001"); u2.setPassword("3002"); getHibernateTemplate().save(u2); return null; } }); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestB t = (TestB)ctx.getBean("testb"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下: applicationContext.xml: <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> ... ... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> <bean id="testb" class="com.sun.demo.TestB"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> 2、声明式事务管理: 1>、JdbcDaoSupport声明式样事物管理,必须继承JdbcDaoSupport类; <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
... .... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> 需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的DataSourceTransactionManager如下: <!-- 事务管理配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactionManager"/> <!-- 事务管理属性 --> <property name="transactionAttributes"> <props> <prop key="updateUser">PROPAGATION_REQUIRED</prop> </props> <!-- 事务管理目标bean --> </property> <property name="target" ref="userdao"></property> </bean> <bean id="userdao" class="com.sun.demo.UserDao"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> IUserDao.java://定义接口 public interface IUserDao { public void updateUser(); } UserDao.java: public class UserDao extends JdbcDaoSupport implements IUserDao{ public void updateUser(){ this.getJdbcTemplate().update("update User set password='password1' where userid='1001'"); this.getJdbcTemplate().update("update User set password='password9999999999999999999999999999999' where userid='1002'"); } } TestA.java://调用updateUser()方法 public class{ public void test(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); IUserDao u = (IUserDao)ctx.getBean("baseTransactionProxy"); u.updateUser(); } public static void main(String[] args) { TestA t = new TestA(); t.test(); } } 2>、HibernateDaoSupport声明式事物管理,必须继承HibernateDaoSupport类; IUserDao.java://定义接口
public interface IUserDao { public void updateUser(); } UserDao.java:
public class UserDao extends HibernateDaoSupport implements IUserDao{ public void updateUser(){ User u1 = new User(); u1.setUserid("1001"); u1.setPassword("5001"); this.getHibernateTemplate().update(u1); User u2 = new User(); u2.setUserid("1003"); u2.setPassword("20015555555555555555555555555555555555555555555"); this.getHibernateTemplate().update(u2); } } 测试: public class TestA{ public void test(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); IUserDao userdao= (IUserDao)ctx.getBean("userproxy"); userdao.updateUser(); } public static void main(String[] args) { TestA t = new TestA(); t.test(); } } 需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的HibernateTransactionManager如下:
applicationContext.xml: <!-- 事务管理配置 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> <property name="transactionManager" ref="transactionManager"/> <!-- 事务管理属性 --> <property name="transactionAttributes"> <props> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> </props> <!-- 事务管理目标bean --> </property> </bean> <bean id="userdao" class="com.sun.demo.UserDao"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> <bean id="userproxy" parent="baseTransactionProxy"> <property name="target" ref="userdao"></property> </bean> |
Spring框架中Dao支持总结:
Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结: 一、在Spring框架中实现连接数据库方式: 1、、借助类HibernateDaoSupport的简约化实现: 借助这个类必须需要HIbernate框架,用到HIbernate里提供的HibernateTemplate模板,从而进行增、删、改、查操作。 TestA.java: public class TestA extends HibernateDaoSupport{ public void test(){ HibernateTemplate template = this.getHibernateTemplate(); List list = template.find("from User"); for(int i=0;i<list.size();i++){ User u = (User)list.get(i); System.out.println(u.getUserid()+" "+u.getEmail()); } } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA t = (TestA)ctx.getBean("testa"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:
applicationContext.xml: <bean id="testa" class="com.sun.demo.TestA"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> 2、、借助类JdbcDaoSupport的简约化实现:
借助这个类不需要HIbernate框架,也不需要有ORM的对象关联映射。但它和HibernateDaoSupport很类似,有JdbcTemplate来实现增、删、改、查操作。 TestA.java: public class TestA extends JdbcDaoSupport{ public void test(){ int n = this.getJdbcTemplate().queryForInt("select max(userid) from User"); System.out.println(n); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA ta = (TestA)ctx.getBean("testa"); ta.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml: <bean id="testa" class="com.sun.demo.TestA"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> 二、编程式事务管理、声明式事务管理中HibernateDaoSupport与JdbcDaoSupport的应用: 1、编程式事务管理: 1>、JdbcDaoSupport编程式事物管理,必须继承JdbcDaoSupport类,得到JdbcTemplate从而实现事务管理; TestA.java: public class TestA extends JdbcDaoSupport{ public void test(){ PlatformTransactionManager ptm = new DataSourceTransactionManager(this.getDataSource()); TransactionTemplate tst = new TransactionTemplate(ptm); tst.execute(new TransactionCallback(){ public Object doInTransaction(TransactionStatus status) { getJdbcTemplate().update("update User set password='1230' where userid='1001'"); getJdbcTemplate().update("update User set email='4444444444444444444444444444444444' where userid='1002'"); getJdbcTemplate().update("update User set phone='phone'"); return null; } }); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestA t = (TestA)ctx.getBean("testa"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml: <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> ... ... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> <bean id="testa" class="com.sun.demo.TestA"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> 2>、HibernateDaoSupport编程式事物管理,必须继承HibernateDaoSupport类,得到HibernateTemplate从而实现事务管理; TestB.java:
public class TestB extends HibernateDaoSupport{ public void test(){ HibernateTransactionManager hm = new HibernateTransactionManager(this.getSessionFactory()); TransactionTemplate ttm = new TransactionTemplate(hm); ttm.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus status) { User u1 = new User(); u1.setUserid("3001"); u1.setPassword("3001"); getHibernateTemplate().save(u1); User u2 = new User(); u2.setUserid("3001"); u2.setPassword("3002"); getHibernateTemplate().save(u2); return null; } }); } public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); TestB t = (TestB)ctx.getBean("testb"); t.test(); } } 需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下: applicationContext.xml: <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"> ... ... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> <bean id="testb" class="com.sun.demo.TestB"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> 2、声明式事务管理: 1>、JdbcDaoSupport声明式样事物管理,必须继承JdbcDaoSupport类; <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
... .... <property name="defaultAutoCommit"> <value>false</value> </property> </bean> 需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的DataSourceTransactionManager如下: <!-- 事务管理配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager" ref="transactionManager"/> <!-- 事务管理属性 --> <property name="transactionAttributes"> <props> <prop key="updateUser">PROPAGATION_REQUIRED</prop> </props> <!-- 事务管理目标bean --> </property> <property name="target" ref="userdao"></property> </bean> <bean id="userdao" class="com.sun.demo.UserDao"> <property name="dataSource"> <ref bean="myDataSource"/> </property> </bean> IUserDao.java://定义接口 public interface IUserDao { public void updateUser(); } UserDao.java: public class UserDao extends JdbcDaoSupport implements IUserDao{ public void updateUser(){ this.getJdbcTemplate().update("update User set password='password1' where userid='1001'"); this.getJdbcTemplate().update("update User set password='password9999999999999999999999999999999' where userid='1002'"); } } TestA.java://调用updateUser()方法 public class{ public void test(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); IUserDao u = (IUserDao)ctx.getBean("baseTransactionProxy"); u.updateUser(); } public static void main(String[] args) { TestA t = new TestA(); t.test(); } } 2>、HibernateDaoSupport声明式事物管理,必须继承HibernateDaoSupport类; IUserDao.java://定义接口
public interface IUserDao { public void updateUser(); } UserDao.java:
public class UserDao extends HibernateDaoSupport implements IUserDao{ public void updateUser(){ User u1 = new User(); u1.setUserid("1001"); u1.setPassword("5001"); this.getHibernateTemplate().update(u1); User u2 = new User(); u2.setUserid("1003"); u2.setPassword("20015555555555555555555555555555555555555555555"); this.getHibernateTemplate().update(u2); } } 测试: public class TestA{ public void test(){ ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); IUserDao userdao= (IUserDao)ctx.getBean("userproxy"); userdao.updateUser(); } public static void main(String[] args) { TestA t = new TestA(); t.test(); } } 需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的HibernateTransactionManager如下:
applicationContext.xml: <!-- 事务管理配置 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"> <property name="transactionManager" ref="transactionManager"/> <!-- 事务管理属性 --> <property name="transactionAttributes"> <props> <prop key="update*">PROPAGATION_REQUIRED</prop> <prop key="save*">PROPAGATION_REQUIRED</prop> <prop key="delete*">PROPAGATION_REQUIRED</prop> </props> <!-- 事务管理目标bean --> </property> </bean> <bean id="userdao" class="com.sun.demo.UserDao"> <property name="sessionFactory"> <ref bean="mySessionFactory"/> </property> </bean> <bean id="userproxy" parent="baseTransactionProxy"> <property name="target" ref="userdao"></property> </bean> |
Spring框架中Dao支持总结:
Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结:
一、在Spring框架中实现连接数据库方式:
1、、借助类HibernateDaoSupport的简约化实现:
借助这个类必须需要HIbernate框架,用到HIbernate里提供的HibernateTemplate模板,从而进行增、删、改、查操作。
TestA.java:
public class TestA extends HibernateDaoSupport{
public void test(){
HibernateTemplate template = this.getHibernateTemplate();
List list = template.find("from User");
for(int i=0;i<list.size();i++){
User u = (User)list.get(i);
System.out.println(u.getUserid()+" "+u.getEmail());
}
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestA t = (TestA)ctx.getBean("testa");
t.test();
}
}
需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:
applicationContext.xml:
<bean id="testa" class="com.sun.demo.TestA">
<property name="sessionFactory">
<ref bean="mySessionFactory"/>
</property>
</bean>
2、、借助类JdbcDaoSupport的简约化实现:
借助这个类不需要HIbernate框架,也不需要有ORM的对象关联映射。但它和HibernateDaoSupport很类似,有JdbcTemplate来实现增、删、改、查操作。
TestA.java:
public class TestA extends JdbcDaoSupport{
public void test(){
int n = this.getJdbcTemplate().queryForInt("select max(userid) from User");
System.out.println(n);
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestA ta = (TestA)ctx.getBean("testa");
ta.test();
}
}
需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml:
<bean id="testa" class="com.sun.demo.TestA">
<property name="dataSource">
<ref bean="myDataSource"/>
</property>
</bean>
二、编程式事务管理、声明式事务管理中HibernateDaoSupport与JdbcDaoSupport的应用:
1、编程式事务管理:
1>、JdbcDaoSupport编程式事物管理,必须继承JdbcDaoSupport类,得到JdbcTemplate从而实现事务管理;
TestA.java:
public class TestA extends JdbcDaoSupport{
public void test(){
PlatformTransactionManager ptm = new DataSourceTransactionManager(this.getDataSource());
TransactionTemplate tst = new TransactionTemplate(ptm);
tst.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus status) {
getJdbcTemplate().update("update User set password='1230' where userid='1001'");
getJdbcTemplate().update("update User set email='4444444444444444444444444444444444' where userid='1002'");
getJdbcTemplate().update("update User set phone='phone'");
return null;
}
});
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestA t = (TestA)ctx.getBean("testa");
t.test();
}
}
需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入DataSource,如下:
applicationContext.xml:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
... ...
<property name="defaultAutoCommit">
<value>false</value>
</property>
</bean>
<bean id="testa" class="com.sun.demo.TestA">
<property name="dataSource">
<ref bean="myDataSource"/>
</property>
</bean>
2>、HibernateDaoSupport编程式事物管理,必须继承HibernateDaoSupport类,得到HibernateTemplate从而实现事务管理;
TestB.java:
public class TestB extends HibernateDaoSupport{
public void test(){
HibernateTransactionManager hm = new HibernateTransactionManager(this.getSessionFactory());
TransactionTemplate ttm = new TransactionTemplate(hm);
ttm.execute(new TransactionCallback(){
public Object doInTransaction(TransactionStatus status) {
User u1 = new User();
u1.setUserid("3001");
u1.setPassword("3001");
getHibernateTemplate().save(u1);
User u2 = new User();
u2.setUserid("3001");
u2.setPassword("3002");
getHibernateTemplate().save(u2);
return null;
}
});
}
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
TestB t = (TestB)ctx.getBean("testb");
t.test();
}
}
需要在Spring的配置文件applicationContext.xml中控制反转用到连接数据库中的类是注入SessionsFactory,如下:
applicationContext.xml:
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
... ...
<property name="defaultAutoCommit">
<value>false</value>
</property>
</bean>
<bean id="testb" class="com.sun.demo.TestB">
<property name="sessionFactory">
<ref bean="mySessionFactory"/>
</property>
</bean>
2、声明式事务管理:
1>、JdbcDaoSupport声明式样事物管理,必须继承JdbcDaoSupport类;
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource">
... ....
<property name="defaultAutoCommit">
<value>false</value>
</property>
</bean>
需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的DataSourceTransactionManager如下:
<!-- 事务管理配置 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="myDataSource"/>
</property>
</bean>
<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="transactionManager"/>
<!-- 事务管理属性 -->
<property name="transactionAttributes">
<props>
<prop key="updateUser">PROPAGATION_REQUIRED</prop>
</props>
<!-- 事务管理目标bean -->
</property>
<property name="target" ref="userdao"></property>
</bean>
<bean id="userdao" class="com.sun.demo.UserDao">
<property name="dataSource">
<ref bean="myDataSource"/>
</property>
</bean>
IUserDao.java://定义接口
public interface IUserDao {
public void updateUser();
}
UserDao.java:
public class UserDao extends JdbcDaoSupport implements IUserDao{
public void updateUser(){
this.getJdbcTemplate().update("update User set password='password1' where userid='1001'");
this.getJdbcTemplate().update("update User set password='password9999999999999999999999999999999' where userid='1002'");
}
}
TestA.java://调用updateUser()方法
public class{
public void test(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
IUserDao u = (IUserDao)ctx.getBean("baseTransactionProxy");
u.updateUser();
}
public static void main(String[] args) {
TestA t = new TestA();
t.test();
}
}
2>、HibernateDaoSupport声明式事物管理,必须继承HibernateDaoSupport类;
IUserDao.java://定义接口
public interface IUserDao {
public void updateUser();
}
UserDao.java:
public class UserDao extends HibernateDaoSupport implements IUserDao{
public void updateUser(){
User u1 = new User();
u1.setUserid("1001");
u1.setPassword("5001");
this.getHibernateTemplate().update(u1);
User u2 = new User();
u2.setUserid("1003");
u2.setPassword("20015555555555555555555555555555555555555555555");
this.getHibernateTemplate().update(u2);
}
}
测试:
public class TestA{
public void test(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
IUserDao userdao= (IUserDao)ctx.getBean("userproxy");
userdao.updateUser();
}
public static void main(String[] args) {
TestA t = new TestA();
t.test();
}
}
需要在Spring配置文件中配置声明事务处理,用JdbcDaoSupport提供的HibernateTransactionManager如下:
applicationContext.xml:
<!-- 事务管理配置 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="mySessionFactory"/>
</property>
</bean>
<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager" ref="transactionManager"/>
<!-- 事务管理属性 -->
<property name="transactionAttributes">
<props>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
</props>
<!-- 事务管理目标bean -->
</property>
</bean>
<bean id="userdao" class="com.sun.demo.UserDao">
<property name="sessionFactory">
<ref bean="mySessionFactory"/>
</property>
</bean>
<bean id="userproxy" parent="baseTransactionProxy">
<property name="target" ref="userdao"></property>
</bean>
发表评论
-
Spring 和JFreeChart 用出现Unable to validate using XSD
2012-08-09 17:31 1713错误显示: 信息: XML validation disab ... -
web.xml不认<taglib>解决办法:
2012-07-11 15:24 896在web.xml不认<taglib>解决办法: ... -
Portal服务器,Portlet容器,Portlet 的区别
2011-08-24 17:06 1567这里所说的Portal是指JCP-JSR168规范所描述的 ... -
AMF,RTMP,RTMPT,RTMPS(转)
2011-04-28 13:10 18751. AMF AMF(是Action Message F ... -
web.xml 中的listener,filter,servlet 加载顺序
2011-04-22 13:35 1068首先,加载顺序与它们 ... -
JDOM修改XML中指定节点的内容
2011-03-21 09:45 2150UpdateXML 写道 package com.util; ... -
SSH配置多个数据源
2011-01-18 16:35 9813SSH配置多个数据源 1. 编写hibernate的数据库配 ... -
SSH中调用存储过程
2010-12-29 08:46 5519SSH中调用带返回结果集的存储过程: public clas ... -
DBCP,CP30及proxool连接池在spring+hibernate中的配置
2010-12-22 17:08 5881用spring默认的连接池性能效率不高, 如果数据库重启, 应 ... -
IP过滤DEMO
2010-11-01 15:59 1229import java.io.IOException; im ... -
FCKEditor Demo
2010-11-01 15:56 1941FCKEditor 的官方下载: http://source ... -
htmlunit带框架的简单处理测试demo
2010-07-07 14:58 3708package com.htmlunit.test; i ... -
模式在SSH中的简单举例
2010-05-17 14:37 1058闲着没事,瞎想,回想了几个简单的模式在SSH的应用。有不对的还 ... -
AspectJ入门 安装及简单使用
2010-05-15 19:20 7030一、下载安装 1. download http: ... -
org.apache.commons.lang.RandomStringUtils
2010-05-05 09:01 1958来自包:apache的commons-lang.jar包下载: ... -
spring字符集过滤器配置
2010-05-04 14:53 2584<!-- spring的字符集过滤器 --> ... -
Cannot instantiate abstract class or interface
2010-05-03 22:49 3876org.hibernate.InstantiationExce ... -
org.hibernate.hql.ast.QuerySyntaxException: ? is not mapped
2010-05-03 21:52 40662010-5-3 21:48:23 org.apache.ca ... -
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit
2010-05-03 21:32 4157MyEclipse 开发 SSH 整合时 java.la ... -
JTA事务(转)
2010-04-30 16:33 9398JTA:Java Transaction API ...
相关推荐
HibernateDaoSupport与JdbcDaoSupport总结
SSH整合(其中dao用extends HibernateDaoSupport方式)总结【图解】
NULL 博文链接:https://yizhilong28.iteye.com/blog/818989
HibernateDaoSupport详解 HibernateDaoSupport详解
HibernateDaoSupport的使用
hibernateDaoSupport类的详解!
HibernateDaoSupport 类的jar HibernateDao 的jar
Spring hibernate3. HibernateDaoSupport 源码
springboot2.0多数据源集成hibernate配置hibernateDaoSupport, dao层继承hibernateDaoSupport, 不使用jpa方式。
.相同点:在applicationConext.xml中 ... HibernateDaoSupport: 在impl中要调用的方法要getHibernateTemplate().delete(user); UserDaoHiberateImpl: 在impl中要调用的方法要hibernateTemplate.save(user);
HibernateDaoSupport分页.txt
hibernateTemplate和HibernateDaoSupport
总结对比了Spring对JDBCTemplate和SpringTemplate的整合使用方法,尤其JdbcDaoSupport和HibernateDaoSupport的使用方法
HibernateDaoSupport方法的解释,比较详细,对初学者很有帮助
HibernateDaoSupport二次封装组件,快速统计和查询,修改,删除,并且对SQL语句的in,or,exitsts都有涉及
NULL 博文链接:https://godit.iteye.com/blog/1716651
编写DAO的时候尽量不直接使用hibernate或者spring对hiberanate的支持
NULL 博文链接:https://wxinpeng.iteye.com/blog/1162157
spring-boot 集成hibernate,使用druid数据库连接池,dao继承HibernateDaoSupport 的实现,
MyEclipse 2014 使用hibernate3 生成数据库实体类 和 xml映射文件