struts2+hibernate+datagrid action+hibernate.cfg.xml+struts.xml

本文介绍了一个使用Struts2和Hibernate实现的图书管理系统案例。系统通过Struts2处理HTTP请求,并利用Hibernate进行数据库操作。具体实现了图书的增删改查功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BookAction 控制器

package cn.action;

import java.util.HashMap;
import java.util.Map;

import cn.biz.BookBiz;
import cn.biz.impl.BookBizImpl;
import cn.entity.Book;

import com.opensymphony.xwork2.ActionSupport;

/**
 * Book 控制器
 * */
public class BookAction extends ActionSupport {
	
	private BookBiz bookBiz = new BookBizImpl();//业务类
	private Book book;//一本书
	private int page;//当前第几页
	private Map<String, Object> data = new HashMap<String, Object>();//封装数据
	private int rows;//页面大小
	private String order;//排序方向 desc 和 asc
	private String sort;//排序属性名,如:price

	public void setOrder(String order) {
		this.order = order;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public void setRows(int rows) {
		this.rows = rows;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getPage() {
		return page;
	}

	public Map<String, Object> getData() {
		return data;
	}

	private boolean operateSuccess;

	public boolean isOperateSuccess() {
		return operateSuccess;
	}

	public void setOperateSuccess(boolean operateSuccess) {
		this.operateSuccess = operateSuccess;
	}

	public Book getBook() {
		return book;
	}

	public void setBook(Book book) {
		this.book = book;
	}

	public void setBookBiz(BookBiz bookBiz) {
		this.bookBiz = bookBiz;
	}
	/**
	 * 查询某一页的书籍
	 * 
	 * @return
	 */
	public String list(){
		data.clear();
		if(sort == null){
			sort = "title";
		}
		if(order == null){
			order = "asc";
		}
		data.put("rows", bookBiz.findPageBooks(page, rows, sort, order));
		data.put("total", bookBiz.findTotal());
		return SUCCESS;
	}
	
	/**
	 * 添加书籍
	 * 
	 * @return
	 */
	public String addBook(){
		operateSuccess = (bookBiz.addBook(book)>0);
		return SUCCESS;
	}
	
	/**
	 * 更新书籍
	 * 
	 * @return
	 */
	public String updateBook(){
		operateSuccess = (bookBiz.updateBook(book)>0);
		return SUCCESS;
	}
	
	/**
	 * 删除书籍
	 * 
	 * @return
	 */
	public String deleteBook(){
		operateSuccess = (bookBiz.deleteBook(book.getId())>0);
		return SUCCESS;
	}
}

 

hibernate.cfg.xml 配置

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>
<session-factory>
	<!-- 数据库URL -->
	<property name="connection.url">
		jdbc:oracle:thin:@localhost:1521:oracle11
	</property>
	<!-- 数据库用户 -->
	<property name="connection.username">A_hr</property>
	<!-- 数据库用户密码 -->
	<property name="connection.password">123456</property>
	<!-- 数据库 JDBC 驱动 -->
	<property name="connection.driver_class">
		oracle.jdbc.driver.OracleDriver
	</property>
	<!-- 是否将运行期生成的 SQL 输出到日志以供调试  -->
	<property name="show_sql">true</property>
	<!-- 每个数据库都有其对应的 Dialect 以匹配其平台特征 -->
	<property name="dialect">
		org.hibernate.dialect.OracleDialect
	</property>
	<property name="hbm2ddl.auto">update</property>
	<mapping class="cn.entity.Book" />
</session-factory>
</hibernate-configuration>

 

struts.xml 配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<constant name="struts.devMode" value="true"></constant>
	<package name="default" namespace="/" extends="json-default">
		<!-- 显示所有的书籍 -->
		<action name="list" class="cn.action.BookAction" method="list">
			<result type="json">
				<!-- 指定的属性做为根元素输出 -->
				<param name="root">data</param>
			</result>
		</action>
		<!-- 添加书籍 -->
		<action name="addBook" class="cn.action.BookAction" method="addBook">
			<result type="json">
				<param name="root">operateSuccess</param>
			</result>
		</action>
		<!-- 删除书籍 -->
		<action name="deleteBook" class="cn.action.BookAction" method="deleteBook">
			<result type="json">
				<param name="root">operateSuccess</param>
			</result>
		</action>
		<!-- 更新书籍 -->
		<action name="updateBook" class="cn.action.BookAction" method="updateBook">
			<result type="json">
				<param name="root">operateSuccess</param>
			</result>
		</action>
	</package>
</struts>    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值