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中

  • 相关阅读:
    42. Trapping Rain Water
    223. Rectangle Area
    645. Set Mismatch
    541. Reverse String II
    675. Cut Off Trees for Golf Event
    安装 VsCode 插件安装以及配置
    向上取整 向下取整 四舍五入 产生100以内随机数
    JS 判断是否为数字 数字型特殊值
    移动端初始配置,兼容不同浏览器的渲染内核
    Flex移动布局中单行和双行布局的区别以及使用
  • 原文地址:https://www.cnblogs.com/qingyundian/p/8196370.html
Copyright © 2011-2022 走看看