【Java开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。网学会员整理了Java开源代码-BooksDaoImpl.java的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
package com.ssh.books.dao.hibernate;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.ssh.books.dao.iface.BooksDao;
import com.ssh.books.model.Books;
import com.ssh.commons.PublicUtil;
/**
* @author cwf
*
*/
public class BooksDaoImpl extends HibernateDaoSupport implements BooksDao {
public BooksDaoImpl(){}
/**
* 函数说明:添加信息
* 参数说明:对象
* 返回值:
*/
public void addBook(Books book) {
this.getHibernateTemplate().save(book);
}
/**
* 函数说明:删除信息
* 参数说明: 对象
* 返回值:
*/
public void deleteBook(Books book) {
this.getHibernateTemplate().delete(book);
}
/**
* 函数说明:获得所有的信息
* 参数说明:
* 返回值:信息的集合
*/
public List getAll() {
String sql="FROM Books ORDER BY bookName";
return this.getHibernateTemplate().find(sql);
}
/**
* 函数说明:获得总行数
* 参数说明:
* 返回值:总行数
*/
public int getRows() {
String sql="FROM Books ORDER BY bookName";
List list=this.getHibernateTemplate().find(sql);
return list.size();
}
/**
* 函数说明:获得所有的信息
* 参数说明:
* 返回值:信息的集合
*/
public List getBooks(int pageSize, int startRow) throws HibernateException {
final int pageSize1=pageSize;
final int startRow1=startRow;
return this.getHibernateTemplate().executeFind(new HibernateCallback(){
public List doInHibernate(Session session) throws HibernateException, SQLException {
// TODO 自动生成方法存根
Query query=session.createQuery("FROM Books ORDER BY bookName");
query.setFirstResult(startRow1);
query.setMaxResults(pageSize1);
return query.list();
}
});
}
/**
* 函数说明:获得一条的信息
* 参数说明: ID
* 返回值:对象
*/
public Books getBook(String bookId) {
return (Books)this.getHibernateTemplate().get(Books.class,bookId);
}
/**
* 函数说明:获得最大ID
* 参数说明:
* 返回值:最大ID
*/
public String getMaxID() {
String date=PublicUtil.getStrNowDate();
String sql="SELECT MAX(bookId)+1 FROM Books ";
String noStr = null;
List ll = (List) this.getHibernateTemplate().find(sql);
Iterator itr = ll.iterator();
if (itr.hasNext()) {
Object noint = itr.next();
if(noint == null){
noStr = "1";
}else{
noStr = noint.toString();
}
}
if(noStr.length()==1){
noStr="000"+noStr;
}else if(noStr.length()==2){
noStr="00"+noStr;
}else if(noStr.length()==3){
noStr="0"+noStr;
}else{
noStr=noStr;
}
return noStr;
}
/**
* 函数说明:修改信息
* 参数说明: 对象
* 返回值:
*/
public void updateBook(Books pd) {
this.getHibernateTemplate().update(pd);
}
/**
* 函数说明:查询信息
* 参数说明: 集合
* 返回值:
*/
public List queryBooks(String fieldname,String value) {
System.out.println("value: "+value);
String sql="FROM Books where "+fieldname+" like '%"+value+"%'"+"ORDER BY bookName";
return this.getHibernateTemplate().find(sql);
}
/**
* 函数说明:获得总行数
* 参数说明:
* 返回值:总行数
*/
public int getRows(String fieldname,String value) {
String
sql="";
if(fieldname==null||fieldname.equals("")||fieldname==null||fieldname.equals(""))
sql="FROM Books ORDER BY bookName";
else
sql="FROM Books where "+fieldname+" like '%"+value+"%'"+"ORDER BY bookName";
List list=this.getHibernateTemplate().find(sql);
return list.size();
}
/**
* 函数说明:
查询信息
* 参数说明: 集合
* 返回值:
*/
public List getBooks(String fieldname,String value,int pageSize, int startRow) {
final int pageSize1=pageSize;
final int startRow1=startRow;
final String queryName=fieldname;
final String queryValue=value;
String sql="";
if(queryName==null||queryName.equals("")||queryValue==null||queryValue.equals(""))
sql="FROM Books ORDER BY bookName";
else
sql="FROM Books where "+fieldname+" like '%"+value+"%'"+"ORDER BY bookName";
final String sql1=sql;
return this.getHibernateTemplate().executeFind(new HibernateCallback(){
public List doInHibernate(Ses