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提供的声明式事务
随机推荐
- nginx 初了解
随着现代web开发的发展,restful,前后端分离,前端js框架的应用越来越普遍.很多web应用请求的接口可能根本就存在于不同的服务器,类似于微信,支付宝等等.这其中就会存在跨域的问题.简单来说,跨 ...
- 利用 Docker 包 Laradock 服务器部署 Laravel & ThinkSNS+ 等程序实战(多项目)
什么是ThinkSNS+ ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+.ThinkSNS V4. ...
- Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题
Python数据科学手册Seaborn马拉松可视化里时分秒转化为秒数的问题 问题描述: 我实在是太懒了,问题描述抄的网上的哈哈哈:https://www.jianshu.com/p/6ab7afa05 ...
- mongodb-win
http://www.cnblogs.com/clsn/p/8214194.html#auto_id_22 Mongodb的作用: 用于对象及JSON数据的存储,它存的都是对象比如字典, 数据库,无论 ...
- JavaScript 中Array数组的几个内置函数
本文章内容均参考<JavaScript高级程序设计第三版> 今天在看JavaScript书籍的时候,看到之前没有了解过的JavaScript中Array的几个内置函数对象,为了之后再开发工 ...
- 【手撸一个ORM】第二步、封装实体描述和实体属性描述
一.实体属性描述 [MyProperty.cs] Name,属性名称 PropertyInfo,反射获取的属性信息,后面很多地方需要通过该属性获取对应的实体类型,或调用SetValue进行赋值 Fie ...
- Try .NET离线版
https://github.com/dotnet/try Try .NET离线版 使用Try.NET创建可交互.NET文档 原文地址:Create Interactive .NET Docume ...
- 关于eclipse安装maven之后,maven找不到JDK问题
问题: 最近在Eclipse里面装了maven之后,启动或者在运行项目时存在如下的警告: Eclipse is rinning in a JRE,but a JDK is require, Some ...
- Beta_版本发布
学号 姓名 201731041215 王阳 201731062302 鲜雨珂 201731062128 邓捷 201731062305 周蓉 201731062131 龙继平 201731062304 ...
- CoordinatorLayout使用笔记
CoordinatorLayout的使用笔记 首先第一个子控件是AppBarLayout存放首部控件,里面放了一个CollapsingToolbarLayout.代码如下: <android.s ...