public List getList(PageBean p, String str[], Object ob2[]) {
Session session = this.getSession();
Query q = session.createQuery(p.getListSQL());
for (int i = 0; i < str.length; i++) {
q.setParameter(str[i], ob2[i]);
}
q.setFirstResult((p.getPage() - 1) * p.getPageSize());
q.setMaxResults(p.getPageSize());
return q.list();
}
<P align=left> public int getTotalCount(PageBean p, String str[], Object ob2[])
throws Exception {</P>
<P align=left> List list = getHibernateTemplate().findByNamedParam(
p.getTotalCountSQL(), str, ob2);
int count = 0;
if (list.size() > 0) {
count = ((Integer) list.get(0)).intvalue();
}
return count;
}
}
这样就定义好了分页的准备工作,下面就是怎样使用了。在<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>中配置好,上面的借口要注入的地方,这是在<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>配置文件中目标代码的配置代码:</P>
<P align=left><bean id="paginateProxy"
class="org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>framework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="paginate" />
</property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean></P>
<P align=left>注入的地方:在bookTypeDAO中要调用目标方法</P>
<P align=left><bean id="bookTypeDAO"
class="com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype.BookTypeDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
<property name="paginate">
<ref bean="paginateProxy" />
</property>
</bean></P>
<P align=left>在action中得到页面传来的页数和页面显示的记录数:</P>
<P align=left>public ActionForward displayAll(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession();
ActionMessages errors = new ActionMessages();
UserBean ub = new UserBean();
if (session.getAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.SESSION_USER) != null) {
ub = (UserBean) session.getAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.SESSION_USER);
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"system.logon.not.logon"));
saveMessages(request, errors);
return mapping.findForward(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.FORWARD_LOGON);
}
PageBean page = new PageBean();
String pagesize = request.getParameter("pagesize");
String pages = request.getParameter("pages");
if (pagesize != null) {
page.setPageSize(Integer.parseInt(pagesize));
}
if (pages != null) {
page.setPage(Integer.parseInt(pages));
}
try {
List bts = bookTypeDAO.findAllBookType(page);
request.setAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.KEY_BOOKTYPES, bts);
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("toolsmenu", bookTypeDAO.getPaginate()
.getToolsMenu(bookTypeDAO.getPageBean()));
return mapping.findForward(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.FORWARD_SUCCESS);
}</P>
<P align=left>下面是BookDAO接口代码:</P>
<P align=left>package com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype;</P>
<P align=left>import java.io.Serializable;
import java.util.List;</P>
<P align=left>import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.booktype.BookType;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PageBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PaginateInterface;</P>
<P align=left>public interface BookTypeDAO extends Serializable {
public abstract PaginateInterface getPaginate();</P>
<P align=left> public abstract PageBean getPageBean();</P>
<P align=left> public abstract boolean checkBookTypeIsValid(String name) throws Exception;</P>
<P align=left> public abstract void addBookType(BookType bookType) throws Exception;</P>
<P align=left> public abstract void updateBookType(BookType bookType) throws Exception;</P>
<P align=left> public abstract void deleteBookType(Integer id) throws Exception;</P>
<P align=left> public abstract void deleteAllBookType(String ids[]) throws Exception;</P>
<P align=left> public abstract BookType findBookTypeById(Integer id) throws Exception;</P>
<P align=left> public abstract List findAllBookType() throws Exception;</P>
<P align=left> public abstract List findAllBookType(PageBean page) throws Exception;
}
</P>
<P align=left>下面是BookDAOImp中的调用代码:</P>
<P align=left>package com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype;</P>
<P align=left>import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;</P>
<P align=left>import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.Query;
import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.Session;
import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>framework.orm.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>3.support.HibernateDaoSupport;</P>
<P align=left>import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.booktype.BookType;
import com.binghe.utils.DeptBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PageBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.Paginate;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PaginateInterface;
import com.binghe.utils.UserBean;</P>
<P align=left>public class BookTypeDAOImp extends HibernateDaoSupport implements BookTypeDAO {
private PaginateInterface paginate;</P>
<P align=left> private PageBean pageBean = new PageBean();</P>
<P align=left> public PageBean getPageBean() {
return pageBean;
}</P>
<P align=left> public void setPageBean(PageBean pageBean) {
this.pageBean = pageBean;
}</P>
<P align=left> public PaginateInterface getPaginate() {
return paginate;
}</P>
<P align=left> public void setPaginate(PaginateInterface paginate) {
this.paginate = paginate;
}</P>
<P align=left> public void addBookType(BookType bookType) throws Exception {
this.getHibernateTemplate().save(bookType);</P>
<P align=left> }</P>
<P align=left> public boolean checkBookTypeIsValid(String name) throws Exception {
String names[] = new String[1];
names[0] = name;
boolean valid = false;
List list = this.getHibernateTemplate().find(
"select b.id from BookType b where b.name=?", names);
if (list.size() > 0) {
valid = true;
}
return valid;</P>
<P align=left> }</P>
<P align=left> public void updateBookType(BookType bookType) throws Exception {
this.getHibernateTemplate().update(bookType);</P>
<P align=left> }</P>
<P align=left> public BookType findBookTypeById(Integer id) throws Exception {</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID and b.id=:id";
List list = this.getHibernateTemplate().findByNamedParam(sql, "id", id);
Iterator it = list.iterator();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
if (it.hasNext()) {
Object o[] = (Object[]) it.next();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
}
return b;
}</P>
<P align=left> public List findAllBookType() throws Exception {
List bookTypes = new ArrayList();</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID";
List list = this.getHibernateTemplate().find(sql);
Iterator it = list.iterator();
while (it.hasNext()) {
Object o[] = (Object[]) it.next();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
bookTypes.add(b);
}
if (bookTypes.size() > 0)
return bookTypes;
return null;
}</P>
<P align=left> public List findAllBookType(PageBean p) throws Exception {
List bookTypes = new ArrayList();</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID";</P>
<P align=left> String sql2 = "select count(*) from BookType";
p.setListSQL(sql);
p.setTotalCountSQL(sql2);
p.setCount(this.getPaginate().getTotalCount(p));
this.setPageBean(p);
List list = this.getPaginate().getList(p);
Iterator it = list.iterator();
while (it.hasNext()) {
Object o[] = (Object[]) it.next();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
bookTypes.add(b);
}
if (bookTypes.size() > 0)
return bookTypes;
return null;
}</P>
<P align=left> public void deleteBookType(Integer id) throws Exception {
BookType bookType = (BookType) this.getHibernateTemplate().load(
BookType.class, id);
getHibernateTemplate().delete(bookType);
}</P>
<P align=left> public void deleteAllBookType(String ids[]) throws Exception {
List list = new ArrayList();
for (int i = 0; i < ids.length; i++) {
BookType bookType = (BookType) this.getHibernateTemplate().load(
BookType.class, new Integer(ids[i]));
list.add(i, bookType);
}
getHibernateTemplate().deleteAll(list);
}</P>
<P align=left>}</P>
<P align=left>这是我写的一个项目中抽取的代码,上面全是代码形式没有文字说明,如果有经验的话我觉得会看懂的,看不懂的话可以发表评论。</P>
Session session = this.getSession();
Query q = session.createQuery(p.getListSQL());
for (int i = 0; i < str.length; i++) {
q.setParameter(str[i], ob2[i]);
}
q.setFirstResult((p.getPage() - 1) * p.getPageSize());
q.setMaxResults(p.getPageSize());
return q.list();
}
<P align=left> public int getTotalCount(PageBean p, String str[], Object ob2[])
throws Exception {</P>
<P align=left> List list = getHibernateTemplate().findByNamedParam(
p.getTotalCountSQL(), str, ob2);
int count = 0;
if (list.size() > 0) {
count = ((Integer) list.get(0)).intvalue();
}
return count;
}
}
这样就定义好了分页的准备工作,下面就是怎样使用了。在<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>中配置好,上面的借口要注入的地方,这是在<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>配置文件中目标代码的配置代码:</P>
<P align=left><bean id="paginateProxy"
class="org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>framework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="target">
<ref local="paginate" />
</property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean></P>
<P align=left>注入的地方:在bookTypeDAO中要调用目标方法</P>
<P align=left><bean id="bookTypeDAO"
class="com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype.BookTypeDAOImp">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
<property name="paginate">
<ref bean="paginateProxy" />
</property>
</bean></P>
<P align=left>在action中得到页面传来的页数和页面显示的记录数:</P>
<P align=left>public ActionForward displayAll(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
HttpSession session = request.getSession();
ActionMessages errors = new ActionMessages();
UserBean ub = new UserBean();
if (session.getAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.SESSION_USER) != null) {
ub = (UserBean) session.getAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.SESSION_USER);
} else {
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"system.logon.not.logon"));
saveMessages(request, errors);
return mapping.findForward(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.FORWARD_LOGON);
}
PageBean page = new PageBean();
String pagesize = request.getParameter("pagesize");
String pages = request.getParameter("pages");
if (pagesize != null) {
page.setPageSize(Integer.parseInt(pagesize));
}
if (pages != null) {
page.setPage(Integer.parseInt(pages));
}
try {
List bts = bookTypeDAO.findAllBookType(page);
request.setAttribute(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.KEY_BOOKTYPES, bts);
} catch (Exception e) {
e.printStackTrace();
}
request.setAttribute("toolsmenu", bookTypeDAO.getPaginate()
.getToolsMenu(bookTypeDAO.getPageBean()));
return mapping.findForward(Const<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/ant/ant-57.html"><FONT color=#0240a3>ant</FONT></A>s.FORWARD_SUCCESS);
}</P>
<P align=left>下面是BookDAO接口代码:</P>
<P align=left>package com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype;</P>
<P align=left>import java.io.Serializable;
import java.util.List;</P>
<P align=left>import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.booktype.BookType;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PageBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PaginateInterface;</P>
<P align=left>public interface BookTypeDAO extends Serializable {
public abstract PaginateInterface getPaginate();</P>
<P align=left> public abstract PageBean getPageBean();</P>
<P align=left> public abstract boolean checkBookTypeIsValid(String name) throws Exception;</P>
<P align=left> public abstract void addBookType(BookType bookType) throws Exception;</P>
<P align=left> public abstract void updateBookType(BookType bookType) throws Exception;</P>
<P align=left> public abstract void deleteBookType(Integer id) throws Exception;</P>
<P align=left> public abstract void deleteAllBookType(String ids[]) throws Exception;</P>
<P align=left> public abstract BookType findBookTypeById(Integer id) throws Exception;</P>
<P align=left> public abstract List findAllBookType() throws Exception;</P>
<P align=left> public abstract List findAllBookType(PageBean page) throws Exception;
}
</P>
<P align=left>下面是BookDAOImp中的调用代码:</P>
<P align=left>package com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.booktype;</P>
<P align=left>import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;</P>
<P align=left>import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.Query;
import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.Session;
import org.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>framework.orm.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>3.support.HibernateDaoSupport;</P>
<P align=left>import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/hibernate/hibernate-22.html"><FONT color=#0240a3>hibernate</FONT></A>.booktype.BookType;
import com.binghe.utils.DeptBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PageBean;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.Paginate;
import com.binghe.<A href="file:///C:/Documents%20and%20Settings/mole/My%20Documents/My%20WebZIP%20Sites/javaresource/www.javaresource.org/spring-framework/spring-framework-23.html"><FONT color=#0240a3>spring</FONT></A>.PaginateInterface;
import com.binghe.utils.UserBean;</P>
<P align=left>public class BookTypeDAOImp extends HibernateDaoSupport implements BookTypeDAO {
private PaginateInterface paginate;</P>
<P align=left> private PageBean pageBean = new PageBean();</P>
<P align=left> public PageBean getPageBean() {
return pageBean;
}</P>
<P align=left> public void setPageBean(PageBean pageBean) {
this.pageBean = pageBean;
}</P>
<P align=left> public PaginateInterface getPaginate() {
return paginate;
}</P>
<P align=left> public void setPaginate(PaginateInterface paginate) {
this.paginate = paginate;
}</P>
<P align=left> public void addBookType(BookType bookType) throws Exception {
this.getHibernateTemplate().save(bookType);</P>
<P align=left> }</P>
<P align=left> public boolean checkBookTypeIsValid(String name) throws Exception {
String names[] = new String[1];
names[0] = name;
boolean valid = false;
List list = this.getHibernateTemplate().find(
"select b.id from BookType b where b.name=?", names);
if (list.size() > 0) {
valid = true;
}
return valid;</P>
<P align=left> }</P>
<P align=left> public void updateBookType(BookType bookType) throws Exception {
this.getHibernateTemplate().update(bookType);</P>
<P align=left> }</P>
<P align=left> public BookType findBookTypeById(Integer id) throws Exception {</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID and b.id=:id";
List list = this.getHibernateTemplate().findByNamedParam(sql, "id", id);
Iterator it = list.iterator();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
if (it.hasNext()) {
Object o[] = (Object[]) it.next();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
}
return b;
}</P>
<P align=left> public List findAllBookType() throws Exception {
List bookTypes = new ArrayList();</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID";
List list = this.getHibernateTemplate().find(sql);
Iterator it = list.iterator();
while (it.hasNext()) {
Object o[] = (Object[]) it.next();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
bookTypes.add(b);
}
if (bookTypes.size() > 0)
return bookTypes;
return null;
}</P>
<P align=left> public List findAllBookType(PageBean p) throws Exception {
List bookTypes = new ArrayList();</P>
<P align=left> String sql = "select b,u.userName,d.deptName "
+ " from BookType b,UserBean u,DeptBean d "
+ " where b.userId=u.OID and u.deptOID=d.OID";</P>
<P align=left> String sql2 = "select count(*) from BookType";
p.setListSQL(sql);
p.setTotalCountSQL(sql2);
p.setCount(this.getPaginate().getTotalCount(p));
this.setPageBean(p);
List list = this.getPaginate().getList(p);
Iterator it = list.iterator();
while (it.hasNext()) {
Object o[] = (Object[]) it.next();
BookType b = null;
UserBean u = new UserBean();
DeptBean d = new DeptBean();
b = (BookType) o[0];
u.setUserName((String) o[1]);
d.setDeptName((String) o[2]);
u.setDept(d);
b.setUser(u);
bookTypes.add(b);
}
if (bookTypes.size() > 0)
return bookTypes;
return null;
}</P>
<P align=left> public void deleteBookType(Integer id) throws Exception {
BookType bookType = (BookType) this.getHibernateTemplate().load(
BookType.class, id);
getHibernateTemplate().delete(bookType);
}</P>
<P align=left> public void deleteAllBookType(String ids[]) throws Exception {
List list = new ArrayList();
for (int i = 0; i < ids.length; i++) {
BookType bookType = (BookType) this.getHibernateTemplate().load(
BookType.class, new Integer(ids[i]));
list.add(i, bookType);
}
getHibernateTemplate().deleteAll(list);
}</P>
<P align=left>}</P>
<P align=left>这是我写的一个项目中抽取的代码,上面全是代码形式没有文字说明,如果有经验的话我觉得会看懂的,看不懂的话可以发表评论。</P>
浙公网安备 33010602011771号