ssh整合思想 Spring与Hibernate和Struts2的action整合 调用action添加数据库 使用HibernateTemplate的save(entity)方法 update delete get 等方法crud操作
2024-10-20 15:52:13
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中
最新文章
- 应用OpenMP的一个简单的设计模式
- Storm中遇到的日志多次重写问题(一)
- ETHREAD APC 《寒江独钓》内核学习笔记(4)
- XSS Filter Evasion Cheat Sheet 中文版
- USBDongle及Btool使用说明
- PHP实现多web服务器共享SESSION数据-session数据写入mysql数据库
- ubuntu下安装Apache+PHP+Mysql(转)
- Struts1——从BeanUtils看struts的实现原理2
- Enthought科学计算,数据分析
- OOC,泛型,糟糕的设计。
- springboot(十九):使用Spring Boot Actuator监控应用
- UWP 调用系统拍照程序
- 设计模式:HelloWorld之策略模式
- Node.js 逐行读取
- [经验]怎么删除“通过QQ/TIM发送到”右键菜单
- MySQL实现分组取组内特定数据的功能
- Java——java错误(The Struts dispatcher cannot be found)
- 获取iOS 设备上崩溃日志 (Crash Log)的方法
- Linux新建用户没有设置密码
- CodeIgniter Doctrine2基本使用(二)(转)