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操作的更多相关文章

  1. ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表

    Spring整合Hibernate Spring的Web项目中,web.xml文件会自动加载,以出现欢迎首页.也可以在这个文件中对Spring的配置文件进行监听,自启动配置文件, 以及之前Struts ...

  2. ssh整合思想 Spring与Hibernate的整合ssh整合相关JAR包下载 .MySQLDialect方言解决无法服务器启动自动update创建表问题

    除之前的Spring相关包,还有structs2包外,还需要Hibernate的相关包 首先,Spring整合其他持久化层框架的JAR包 spring-orm-4.2.4.RELEASE.jar  ( ...

  3. 总结Spring、Hibernate、Struts2官网下载jar文件

    一直以来只知道搭SSH需要jar文件,作为学习的目的,最好的做法是自己亲自动手去官网下.不过官网都是英文,没耐心一般很难找到下载入口,更何 况版本的变化也导致不同版本jar文件有些不一样,让新手很容易 ...

  4. SSH(Struts、Spring、Hibernate)三大框架整合

    1. 新建数据库ssh_db -> 新建表user_tb(id为主键,自动递增) 2. 导入jar包(struts.hibernate 和 spring) 3. 注册页面reg.jsp,将表单的 ...

  5. 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 ...

  6. Struts2深入之动态调用Action

    使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件Struts2.xml文件中配置多个action属性标 ...

  7. Spring、hibernate以及struts2三大框架的整合

    1.首先导入整合框架所需要的43个jar包: 2.配置xml文件: <?xml version="1.0" encoding="UTF-8"?> & ...

  8. 使用IDEA整合spring4+spring mvc+hibernate

    配置文件 spring-mvc.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans x ...

  9. Spring 和 Hibernate的整合

    问题 ,spring 和 hibernate 整合 如何整合 1. Spring 使用Hibernate的的SessionFactory 2. Hibernate使用Spring提供的声明式事务

随机推荐

  1. 2014-10-28 NOIP模拟赛

    Porble 1时间与空间之旅(tstrip.*) 题目描述 公元22××年,宇宙中最普遍的交通工具是spaceship.spaceship的出现使得星系之间的联系变得更为紧密,所以spaceship ...

  2. C# 数组之ArrayList

    一.引言 ArrayList类相当于一种高级的动态数组,是Array类的升级版本. 一般的Array,底层是数组实现的,对于数据的查找和修改十分高效.但是有2个大的缺点,其一为增删低效,其二为数组长度 ...

  3. Educational Codeforces Round 65 (Rated for Div. 2) D. Bicolored RBS

    链接:https://codeforces.com/contest/1167/problem/D 题意: A string is called bracket sequence if it does ...

  4. 微服务架构 Steeltoe

    .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud) https://www.cnblogs.com/xishuai/p/steeltoe-and-spring-c ...

  5. MS SqlServer之Exec和EXEC SP_EXECUTESQL

    exec执行sql时字符串时,不能给变量赋值,如果要在sql里给变量赋值,请用EXEC SP_EXECUTESQL 示例: 通过 SP_EXECUTESQL 的第2个参数来定义有哪些参数 输出的加OU ...

  6. 牛客网Java刷题知识点之抽象类与接口

    不多说,直接上干货! 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于它们的存在才赋予java强大的面向对象的能力. ...

  7. MapReduce编程入门实例之WordCount:分别在Eclipse和Hadoop集群上运行

    上一篇博文如何在Eclipse下搭建Hadoop开发环境,今天给大家介绍一下如何分别分别在Eclipse和Hadoop集群上运行我们的MapReduce程序! 1. 在Eclipse环境下运行MapR ...

  8. (转载)Python中模块的发布与安装

    模块(Module) Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个 ...

  9. .net笔试题二(填空题、选择题)

    1.面向对象的语言具有_______性.________性._______性答:封装.继承.多态. 2.能用foreach遍历访问的对象需要实现 ____________接口或声明__________ ...

  10. JAVA的API部分介绍

    个人理解: Object作为最大的父类,里面存在不少方法,可以在API中具体的查找.比如可以帮助查看是否相同的equals方法,不过要想看具体属性是否相同需要得重写,打印.调用对象相当于调用其tost ...