zoukankan      html  css  js  c++  java
  • ssh整合思想 Spring与Hibernate和Struts2的action整合 调用action添加数据库 使用HibernateTemplate的save(entity)方法 update delete get 等方法crud操作

    UserAction类代码:

    package com.swift.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    import com.swift.service.UserService;
    
    public class UserAction extends ActionSupport {
        private UserService userService;
        public void setUserService(UserService userService) {
            this.userService = userService;
        }
        @Override
        public String execute() throws Exception {
            System.out.println("action..................");
            userService.add();
            userService.update();
            userService.delete();
            userService.getOne();
            userService.findAll();
            userService.findYouWant();
            return NONE;
        }
    
    }

    调用UserService类中crud各种方法

    UserService类代码:

    package com.swift.service;
    
    import org.springframework.transaction.annotation.Transactional;
    
    import com.swift.dao.UserDao;
    @Transactional
    public class UserService {
    
        private UserDao userDao;
        public void setUserDao(UserDao userDao) {
            this.userDao = userDao;
        }
        public void add() {
            System.out.println("UserService.................add");
            userDao.add();
        }
        public void update() {
            System.out.println("UserService.................update");
            userDao.update();
        }
        public void delete() {
            System.out.println("UserService.................delete");
            userDao.delete();
        }
        public void getOne() {
            System.out.println("UserService.................get the 3rd");
            userDao.getOne();
        }
        public void findAll() {
            System.out.println("UserService.................find all");
            userDao.findAll();
        }
        public void findYouWant() {
            System.out.println("UserService.................find you want");
            userDao.findYouWant();
        }
        
    }

    调用UserDao接口

    package com.swift.dao;
    
    public interface UserDao {
        public void add();
        public void update();
        public void delete();
        public void getOne();
        public void findAll();
        public void findYouWant();
    }

    接口实现类UserDaoImplements

    package com.swift.dao;
    
    import java.util.List;
    
    import org.springframework.orm.hibernate5.HibernateTemplate;
    
    import com.swift.entity.User;
    
    public class UserDaoImplements implements UserDao{
        private HibernateTemplate hibernateTemplate;
        private User user;
        public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
            this.hibernateTemplate = hibernateTemplate;
        }
        public void setUser(User user) {
            this.user = user;
        }
    
        @Override
        public void add() {
            //增加
            user.setUsername("small-fly");
            user.setAddress("War of Mercenaries");
            hibernateTemplate.save(user);
        }
    
        @Override
        public void update() {
            //修改
            user.setUsername("big-dog");
            user.setAddress("The War of Mercenaries");
            hibernateTemplate.update(user);
        }
        @Override
        public void delete() {
            hibernateTemplate.delete(user);
        }
        @Override
        public void getOne() {
            User user=hibernateTemplate.get(User.class, 2);
            System.out.println(user.getUsername()+" :: "+user.getAddress());
        }
        @Override
        public void findAll() {
            List<User> list=(List<User>) hibernateTemplate.find("from User");
            for(User user:list) {
                System.out.println(user.getUsername()+" :: "+user.getAddress());
            }
        }
        @Override
        public void findYouWant() {
            List<User> list=(List<User>) hibernateTemplate.find("from User where userName=? and address=?","ram","The War of Mercenaries");
            for(User user:list) {
                System.out.println(user.getUsername()+" :: "+user.getAddress());
            }
        }
    
    }

    运行Apach服务器,地址栏输入action

    控制台结果

    Spring Hibernate Struts2等的 xml配置文件和映射文件,以及实体类和前一篇随笔大致相同。

    bean.xml的Spring核心配置文件略有不同,因为在接口实现类UserDaoImplements中,没有直接生成对象,而是通过bean.xml配置文件注入属性得到的对象user。

    即配置文件中生成对象user并注入UserDaoImplements中

  • 相关阅读:
    当别人疑惑时你坚定
    如何设置mvc的role和user
    在项目中添加引用的意思
    vs的使用技巧
    无法删除表实体的问题
    JavaScriptSerializer类
    统计代码行数&&遍历jQuery
    远程调用
    select、验证
    委托和事件的区别
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8196370.html
Copyright © 2011-2022 走看看