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>