Spring框架中Dao支持总结:spring中普通类使用hibernate
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" 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" 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" parent="baseTransactionProxy">
??????? <property name="target" ref="userdao"></property>
??????? </bean>
深圳人才网?深圳招聘网?深圳人才招聘网?深圳人才大市场?
企业、个人免费注册,获取想要的深圳软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位!?
www.szrcwz.com???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?? ? ? ? ? ? ? ? ?![]()