Java requiere comentarios.
Además, me gustaría dar algunas sugerencias al cartel para sentar unas bases sólidas. Este conjunto de código es confuso y está mal escrito. No apto para estudiar. Si desea aprender, busque un buen código; de lo contrario, será engañado fácilmente.
/**
* Una clase en la capa Dao usa hibernación para controlar la capa de persistencia.
*Hereda de AbstractDAO e implementa los métodos relevantes de la clase abstracta.
*Incluye principalmente obtener una lista de libros, obtener registros de libros, agregar información de libros, agregar y actualizar información de libros,
*Obtener información de libros y determinar si la información de libros se puede eliminar.
*/
La clase pública BookDAO extiende AbstractDAO {
//Método de construcción sin parámetros
Public BookDAO(){ p >
}
/* *La administración en realidad agregó un método principal. Lo siento, soy estúpido. No se me ocurre ninguna otra explicación además de agregar confusión.
*También es posible que se haya utilizado para pruebas durante la fase de prueba y luego se haya olvidado y se haya eliminado.
*/
Public static void main(String[] args) {
// TODO fragmento de método generado automáticamente
}
/**
* Obtenga información de libros basada en palabras clave y utilice consultas difusas para obtener una lista de información de libros que contenga palabras clave.
*Si el atributo bookName del objeto libro ingresado es control o una cadena vacía, toda la información del libro se consultará de forma predeterminada.
*@pamar book El objeto persistente de información del libro debe corresponder a una tabla bookinfo en la base de datos.
*@pamar buscapersonas debe ser un objeto que encapsule la lógica de paginación.
*@return Lista La base de datos devuelta contiene una lista de información del libro, que contiene las palabras clave (títulos de los libros) del libro.
*De forma predeterminada, se devuelve información sobre todos los libros de la base de datos.
*El valor de retorno aquí está diseñado como una lista
**/
La lista pública getBookList(libro Bookinfo, buscapersonas) arroja DataAccessException{
//La declaración hql devuelve toda la información del libro en la base de datos de forma predeterminada.
string hql = " from com . jframe . biz . book . book info book "+
"donde 1 = 1";
/*If book El nombre existe y no es una cadena vacía.
*Reconstruya la declaración hql, agregue restricciones y devuelva un conjunto de resultados de consulta difusa de nombres de libros.
*/
if(book.getBookName()!= null & amp& amp!"".equals(libro . get bookname()){
hql += "and book.bookname like"%"+book.get bookname()+"%"";
}
//Si el autor del libro no está vacío, el carácter Si la cadena no está vacía, agregue restricciones y devuelva el conjunto de resultados de la consulta difusa del autor especificado
if(book.getAuthor()!= null & amp& amp!"".equals(book. . get autor() )){
hql += "y libro . autor como "%" + libro . get autor() + "%";
}
/ /Crea un objeto de consulta para ejecutar la declaración hql
Query query = this.getSession().
create query(hql);
//Los dos registros siguientes están configurados para buscar el primer registro a partir del primer registro en la base de datos para paginación.
//Establezca el tamaño del conjunto de resultados en el número de registros mostrados por página establecido por la lógica de paginación.
query . setmaxresults(pager . get pagesize());
//Comprueba el registro inicial a partir de la lógica en la paginación.
query . set first result((pager . getcurrentpage()-1)* pager . get pagesize());
//Devuelve el resultado de la consulta.
Devolver consulta .list();
}
/**
*Consulta el número de registros de libros que cumplen con los requisitos. condiciones especificadas.
*@pamar reservar un objeto de información de libro
* @return int book record
*/
public int getBookCount(información del libro book) lanza DataAccessException{
//Establece la consulta hql predeterminada para todos los registros del libro.
string hql = " select count(bookName)from com . jframe . biz . book . book info book "+
"donde 1 = 1"
// Si el nombre del libro no está vacío y la cadena no está vacía, agregue una consulta difusa restringida del nombre del libro.
if(book.getBookName()!= null & amp& amp!"".equals(book . get bookname()){
hql += "y libro . bookname like "%"+book.get bookname()+"%"";
}
//Si el autor del libro no está vacío y la cadena no está vacía, agregue un límite Condición: consulta difusa para el autor del libro
if(book.getAuthor()!= null & amp& amp!"".equals(book . get Author()){
hql + = "y libro . autor como "%" + libro . get autor() + "%";
}
Consulta consulta = this.getSession().create consulta (hql );
//Devuelve el conjunto de resultados de la consulta a la lista.
list list = query.
//Si el conjunto de resultados es un objeto. . No está vacío y tiene un resultado.
If (list!= null & amp& amplist. size()> 0)
//Convierte el primer elemento en el conjunto de resultados. como un número entero, luego regresa
return((integer)query.list().iterator().next());
Otro
p>Devuelve 0;
}
/**
*Agregar información de libros
*@parma libro objeto de información del libro
*@returnEs difícil entender por qué este método devuelve un valor, incluso si el valor de retorno es requerido, es booleano.
*/
información del libro público addBookInfo(libro de información del libro) lanza DataAccessException{
//Crear un objeto de plantilla de hibernación
hibernación plantilla plantilla = this . gethibernate template();
//Llame al método de guardar plantilla para guardar la información del libro.
template.save(book);
//Limpiar el caché o los datos sucios y comprobar si los objetos persistentes en la memoria se han almacenado en la base de datos.
template . flush();
template .evict(book);
//El valor de retorno no se interpretará en el futuro. El encabezado del método tiene una explicación de los parámetros y el valor de retorno.
Devolver getBookInfo(book);
}
/**
*Guardar o actualizar método. Tenga en cuenta que si este método se parece a Hibernate 3.0 o superior, se eliminó en versiones anteriores de Hibernate.
*@parma libro objeto de información del libro
*@return¿Por qué este y el último método todavía tienen valores de retorno, incluso si el valor de retorno es requerido, es booleano?
*/
información del libro público guardar información del libro (libro de información del libro) lanza DataAccessException{
//El mismo método no se explicará más adelante.
plantilla de hibernación plantilla = this . gethibernate template();
//Si no existe en la base de datos, inserte la actualización.
plantilla . saveourupdate(libro);
Devolver el libro
}
/**
* Eliminar el libro especificado.
* @Palma libro información del libro
* @return void
*/
public void deleteBookInfo(libro de información del libro) lanza DataAccessException {
plantilla de hibernación plantilla = this . gethibernate template();
//Llame al método de eliminación de la plantilla.
template.delete(book);
}
/**
*Consultar información del libro según el ISBN
*@param libro objeto de libro
* @Devolver información del libro
*/
información del libro público getbook info(libro de información del libro) lanza DataAccessException{
plantilla de hibernación plantilla = this . gethibernate template();
// La declaración SQL consulta la información del libro del ISBN especificado.
string hql = " from com . jframe . biz . book . book info book "+
"donde 1=1 y book . book no = ' "+getbook no. ()+" ' ";
//Clase de consulta para llamar a la plantilla de consulta
list list = template.find(hql);
//Will El primer valor del conjunto de resultados de la consulta se convierte en un objeto y se devuelve.
if (lista!= nulo &&list. tamaño()>0)
return (Bookinfo) list.iterator(). next();
Otro
return null
}
/**
*r si inicia sesión Devuelve verdadero si el número de libro registrado en la información se puede eliminar y existe en la base de datos.
*/
booleano público es candelete(libro de información del libro){
Indicador booleano = falso
plantilla de hibernación = esto; .gethibernate template();
string hql = " from com . jframe . biz . log . log info log "+
"donde 1=1 y log . book info . bookno = ' "+libro . getbookno()+" ' ";
lista lista = plantilla . find(hql);
if (lista! = null & amp& amplist . tamaño( )> 0)
bandera = false
Otro
bandera = true
Devolver bandera;
}
}