bookdaoimpl.java
来自「有简单的网上书店需求及设计流程」· Java 代码 · 共 208 行
JAVA
208 行
package org.wiely.dao.impl;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.wiely.dao.BookDAO;
import org.wiely.vo.Book;
public class BookDAOImpl extends BaseDAO implements BookDAO {
@Override
public void delBook(int bookid) throws Exception {
Session session = getSession();
Transaction tx = session.beginTransaction();
Book book = (Book) session.get(Book.class, bookid);
session.delete(book);
tx.commit();
session.close();
}
@SuppressWarnings("unchecked")
@Override
public List getNewBooks() throws Exception {
Session session = getSession();
Query query;
List l = new ArrayList();
String hql = "from Book b where b.isnew = '是'";
query = session.createQuery(hql);
List list = query.list();
session.close();
for (int i = 0; i < list.size(); i++) {
Book book = new Book();
book = (Book) list.get(i);
l.add(book);
}
return l;
}
@Override
public void insertBook(Book book) throws Exception {
Session session = getSession();
Transaction tx = session.beginTransaction();
session.save(book);
tx.commit();
session.close();
}
@SuppressWarnings("unchecked")
@Override
public List queryAllBooks(int currentPage, int pageSize) throws Exception {
Session session = getSession();
Query query;
List l = new ArrayList();
String hql = "from Book b";
query = session.createQuery(hql);
int startRow = (currentPage - 1) * pageSize;
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
List list = query.list();
session.close();
for (int i = 0; i < list.size(); i++) {
Book book = new Book();
book = (Book) list.get(i);
l.add(book);
}
return l;
}
@SuppressWarnings("unchecked")
@Override
public Book queryBookByBookisbn(String bookisbn) throws Exception {
Session session = getSession();
Query query;
String hql = "from Book b where b.isbn= ?";
query = session.createQuery(hql);
query.setParameter(0, bookisbn);
List list = query.list();
if (list.size() == 1) {
Book book = (Book) list.get(0);
session.close();
return book;
} else {
session.close();
return null;
}
}
@SuppressWarnings("unchecked")
@Override
public List queryBooksByAdminid(int adminid, int currentPage, int pageSize)
throws Exception {
Session session = getSession();
Query query;
List l = new ArrayList();
String hql = "from Book b where b.adminid=" + adminid;
query = session.createQuery(hql);
int startRow = (currentPage - 1) * pageSize;
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
List list = query.list();
session.close();
for (int i = 0; i < list.size(); i++) {
Book book = new Book();
book = (Book) list.get(i);
l.add(book);
}
return l;
}
@SuppressWarnings("unchecked")
@Override
public List queryBooksByName(String bookname, int currentPage, int pageSize)
throws Exception {
Session session = getSession();
Query query;
List l = new ArrayList();
String hql = "from Book b where b.bookname like '" + bookname + "%'";
query = session.createQuery(hql);
int startRow = (currentPage - 1) * pageSize;
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
List list = query.list();
session.close();
for (int i = 0; i < list.size(); i++) {
Book book = new Book();
book = (Book) list.get(i);
l.add(book);
}
return l;
}
@Override
public void updateBook(Book book) throws Exception {
Session session = getSession();
Transaction tx = session.beginTransaction();
session.update(book);
tx.commit();
session.close();
}
@SuppressWarnings("unchecked")
@Override
public int getTotalRecords() throws Exception {
Session session = getSession();
Query query;
String hql = "from Book b";
query = session.createQuery(hql);
List list = query.list();
int totalSize = list.size();
session.close();
return totalSize;
}
@SuppressWarnings("unchecked")
@Override
public int getTotalRecordsByadminid(int adminid) throws Exception {
Session session = getSession();
Query query;
String hql = "from Book b where b.adminid=" + adminid;
query = session.createQuery(hql);
List list = query.list();
int totalSize = list.size();
session.close();
return totalSize;
}
@SuppressWarnings("unchecked")
@Override
public int getTotalRecordsBybookname(String bookname) throws Exception {
Session session = getSession();
Query query;
String hql = "from Book b where b.bookname like '" + bookname + "%'";
query = session.createQuery(hql);
List list = query.list();
int totalSize = list.size();
session.close();
return totalSize;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?