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>