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中
ssh整合思想 Spring与Hibernate和Struts2的action整合 调用action添加数据库 使用HibernateTemplate的save(entity)方法 update delete get 等方法crud操作的更多相关文章
- ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表
Spring整合Hibernate Spring的Web项目中,web.xml文件会自动加载,以出现欢迎首页.也可以在这个文件中对Spring的配置文件进行监听,自启动配置文件, 以及之前Struts ...
- ssh整合思想 Spring与Hibernate的整合ssh整合相关JAR包下载 .MySQLDialect方言解决无法服务器启动自动update创建表问题
除之前的Spring相关包,还有structs2包外,还需要Hibernate的相关包 首先,Spring整合其他持久化层框架的JAR包 spring-orm-4.2.4.RELEASE.jar ( ...
- 总结Spring、Hibernate、Struts2官网下载jar文件
一直以来只知道搭SSH需要jar文件,作为学习的目的,最好的做法是自己亲自动手去官网下.不过官网都是英文,没耐心一般很难找到下载入口,更何 况版本的变化也导致不同版本jar文件有些不一样,让新手很容易 ...
- SSH(Struts、Spring、Hibernate)三大框架整合
1. 新建数据库ssh_db -> 新建表user_tb(id为主键,自动递增) 2. 导入jar包(struts.hibernate 和 spring) 3. 注册页面reg.jsp,将表单的 ...
- ssh整合思想 Spring分模块开发 crud参数传递 解决HTTP Status 500 - Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or(增加事务)
在Spring核心配置文件中没有增加事务方法,导致以上问题 Action类UserAction package com.swift.action; import com.opensymphony.xw ...
- Struts2深入之动态调用Action
使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件Struts2.xml文件中配置多个action属性标 ...
- Spring、hibernate以及struts2三大框架的整合
1.首先导入整合框架所需要的43个jar包: 2.配置xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...
- 使用IDEA整合spring4+spring mvc+hibernate
配置文件 spring-mvc.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans x ...
- Spring 和 Hibernate的整合
问题 ,spring 和 hibernate 整合 如何整合 1. Spring 使用Hibernate的的SessionFactory 2. Hibernate使用Spring提供的声明式事务
随机推荐
- 最短路(floyd/dijkstra/bellmanford/spaf 模板)
floyd/dijkstra/bellmanford/spaf 模板: 1. floyd(不能处理负权环,时间复杂度为O(n^3), 空间复杂度为O(n^2)) floyd算法的本质是dp,用dp[k ...
- 洛谷P2759 奇怪的函数
P2759 奇怪的函数 题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x ...
- 聊聊 Laravel 5.5 的 「自动发现」
ThinkSNS是什么? ThinkSNS(简称TS),一款全平台综合性社交系统,目前最新版本为ThinkSNS+.ThinkSNS V4 ThinkSNS[简]. 看了Taylor Otwell发表 ...
- 优酷土豆的Redis服务平台化之路
前言 Nginx 是一个 免费的 , 开源的 , 高性能 的 HTTP 服务器和 反向代理 ,以及 IMAP / POP3代理服务器. Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消 ...
- Git 深度学习填坑之旅一(git安装和配置、基本命令)
前戏 最近不管是工作还是ctf比赛,接触与使用git变得越来越多,git半吊子水平的我已经不能支撑日常工作了.碰巧自己公司项目刚上线,现在能挤出一点时间来挖一下这个坑... 为什么使用Git 1.后悔 ...
- Java 多线程高并发编程 笔记(二)
1. 单例模式(在内存之中永远只有一个对象) 1.1 多线程安全单例模式——不使用同步锁 public class Singleton { private static Singleton sin=n ...
- MySql提示:The server quit without updating PID file(…)失败之解决办法(来源网络仅供参考)
1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限 解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod ...
- HDU-2586-How far away(LCA Tarjan离线算法)
链接:https://vjudge.net/problem/HDU-2586 题意: 勇气小镇是一个有着n个房屋的小镇,为什么把它叫做勇气小镇呢,这个故事就要从勇气小镇成立的那天说起了,修建小镇的时候 ...
- NET CORE 基础
NET CORE 基础管理系统 [SF]开源的.NET CORE 基础管理系统 - 安装篇 [SF]开源的.NET CORE 基础管理系统 -系列导航 1.开发必备工具 IDE:VS2017 运行 ...
- Codeforces Round #377 (Div. 2) D. Exams 贪心 + 简单模拟
http://codeforces.com/contest/732/problem/D 这题我发现很多人用二分答案,但是是不用的. 我们统计一个数值all表示要准备考试的所有日子和.+m(这些时间用来 ...