SSH框架增加事务处理(以原有的SSH框架登录)

来源:互联网 发布:steam mac 游戏推荐 编辑:程序博客网 时间:2024/06/04 00:43

applicationCotext.xml增加配置

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd"><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property><property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property><property name="username" value="system"></property><property name="password" value="password"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop><prop key="hibernate.show_sql">true</prop><prop key="hibernate.format_sql">true</prop></props></property><property name="mappingResources"><list><value>entity/Myuser.hbm.xml</value></list></property></bean><!-- 定义DAO组件,并注入sessionFactory --><bean id="userDao" class="dao.UserDao"><property name="sessionFactory" ref="sessionFactory" /></bean><!-- 定义SERVICE组件,并注入所依赖的DAO组件 --><bean id="userService" class="service.UserService"><property name="userDao" ref="userDao" /></bean><!-- 使用spring声明式事务管理 --><bean id="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><property name="sessionFactory" ref="sessionFactory" /></bean><tx:advice id="txadvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="find*" read-only="true" /><!--不涉及事务的  --><tx:method name="add*" propagation="REQUIRED" /><!--  --><tx:method name="update*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="*" read-only="true" /></tx:attributes></tx:advice><aop:config><aop:pointcut expression="execution(* service.*.*(..))"id="servicept" /><aop:advisor advice-ref="txadvice" pointcut-ref="servicept" /></aop:config></beans>
UserDao

package dao;import java.util.List;import org.springframework.dao.DataAccessException;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import entity.Myuser;public class UserDao extends HibernateDaoSupport {/* * 获取所有用户 */public List<Myuser> getAllUsers(){return getHibernateTemplate().find("from Myuser");}/* * 根据用户名和密码查询指定用户信息 */public Myuser getMyuserByNameAndPwd(Myuser user){//String hql = "from Myuser where username = :username and userpwd = :userpwd";String hql = "from Myuser where username = '"+user.getUsername()+"' and userpwd = '" +user.getUserpwd() +"'";List<Myuser> userList = getHibernateTemplate().find(hql);if(userList.size()> 0)return userList.get(0);return null;}/* * 删除指定用户 */public int deleteUser(Myuser user) {try {//user = getHibernateTemplate().load(Myuser.class, user.getId());getHibernateTemplate().delete(user);} catch (DataAccessException e) {e.printStackTrace();return 0;}return 1;}}
UserService

package service;import java.util.List;import dao.UserDao;import entity.Myuser;public class UserService {private UserDao userDao;/* * 登录 */public Myuser findUser(Myuser user) {return userDao.getMyuserByNameAndPwd(user);}/* * 查询所有 */public List<Myuser> findAll(){return null;}/* * 注册用户 */public boolean addUser(Myuser user) {return false;}/* * 修改用户 */public boolean updateUser(Myuser user) {return false;}/* * 删除用户 */public boolean deleteUser(Myuser user) {if(userDao.deleteUser(user) > 0)return true;return false;}public void setUserDao(UserDao userDao) {this.userDao = userDao;}}



0 0