⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 booksavedaoimpl.java

📁 本系统实现了从五个网站上搜索的图书进行整合后
💻 JAVA
字号:
package com.booksearch.dao;

import java.sql.SQLException;
import java.util.ArrayList;
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.booksearch.orm.Book;
import com.booksearch.orm.Daily;
import com.booksearch.orm.Price;
/**
 * Class:BookSaveDaoImpl
 * Description:  对实体bean进行持久化和更新数据信息
 * extens:HibernateDaoSupport
 * implements:BookLoadDao
 * @author  feng guang
 * @since   11/20/08
 */
public class BookSaveDaoImpl extends HibernateDaoSupport implements BookSaveDao {
	
	private List list = null;
	/**
	* Function:  addBook
	* Description: 判断数据库中是否有书名相同的记录,如果没有直接插入到数据库,如果有,则更新此记录并更新关键的priceinfo表
	* Calls:  no
	* Called By:  BookSaveThread.run()
	* @param book as Book
	* @return void
	* @throws no
	*/
	public synchronized void addBook(Book book) {
		this.getHibernateTemplate().save(book);
	}
//	public synchronized void addBook(Book book) {
//          boolean flag = false;
//		  if(null != book.getBookISBN()&&!"".equals(book.getBookISBN())){
//			  
//			  list = this.getHibernateTemplate().find("from Book as book where book.bookISBN = ?",book.getBookISBN());
//              //this.updateBook(book, list);
//			  if(null!=list && list.size()>0){
//				    flag = true;
//					Book temp = (Book)list.get(0);
//					  
//		            Price price = book.getPrice();
//		            
//		            if(null != price.getChina_pubUrl()){
//		          	  
//		          	  temp.getPrice().setChina_pubDiscount(price.getChina_pubDiscount());
//		          	  temp.getPrice().setChina_pubPrice(price.getChina_pubPrice());
//		          	  temp.getPrice().setChina_pubUrl(price.getChina_pubUrl());
//		          	  
//		            }else if(null != price.getDangdangUrl()){
//		          	  
//		          	  temp.getPrice().setDangdangDiscount(price.getDangdangDiscount());
//		          	  temp.getPrice().setDangdangPrice(price.getDangdangPrice());
//		          	  temp.getPrice().setDangdangUrl(price.getDangdangUrl());
//		          	  
//		            }else if(null != price.getZhuoyueUrl()){
//		          	  temp.getPrice().setZhuoyueDiscount(price.getZhuoyueDiscount());
//		          	  temp.getPrice().setZhuoyuePrice(price.getZhuoyuePrice());
//		          	  temp.getPrice().setZhuoyueUrl(price.getZhuoyueUrl());
//		          	  
//		            }else if(null != price.getTsinghuaUrl()){
//
//		          	  temp.getPrice().setTsinghuaDiscount(price.getTsinghuaDiscount());
//		          	  temp.getPrice().setTsinghuaPrice(price.getTsinghuaPrice());
//		          	  temp.getPrice().setTsinghuaUrl(price.getTsinghuaUrl());
//		            }else if(null != price.getWeilanUrl()){
//
//		          	  temp.getPrice().setWeilanDiscount(price.getWeilanDiscount());
//		          	  temp.getPrice().setWeilanPrice(price.getWeilanPrice());
//		          	  temp.getPrice().setWeilanUrl(price.getWeilanUrl());
//		            }else if(null != price.getBookschinaUrl()){
//
//		          	  temp.getPrice().setBookschinaDiscount(price.getBookschinaDiscount());
//		          	  temp.getPrice().setBookschinaPrice(price.getBookschinaPrice());
//		          	  temp.getPrice().setBookschinaUrl(price.getBookschinaUrl());
//		            }
//		          	  
//		            /*更新此记录其它没有的信息*/
//		            if(null == temp.getBookAuthor()){
//		          	  temp.setBookAuthor(book.getBookAuthor());
//		            }
//		            if(null == temp.getBookImage()){
//		          	  temp.setBookImage(book.getBookImage());
//		          	  
//		            }
//		            if(null == temp.getBookISBN()){
//		          	  temp.setBookISBN(book.getBookISBN());
//		            }
//		            if(0.00 == temp.getBookFixPrice()){
//		          	  temp.setBookFixPrice(book.getBookFixPrice());
//		            }
//		            if(null == temp.getBookPublisher()){
//		          	  temp.setBookPublisher(book.getBookPublisher());
//		            }
//		            if(null == temp.getBookPublishTime()){
//		          	  temp.setBookPublishTime(book.getBookPublishTime());
//		            }
//		            /*更新到数据库*/
//		            this.getHibernateTemplate().update(temp);
//				  } 
//				  
//		  }
//		  if(!flag){
//			  if(null != book.getBookPublisher() && !"".equals(book.getBookPublisher())
//					&& null != book.getBookPublishTime()&& !"".equals(book.getBookPublishTime())
//				    && book.getBookFixPrice()>0){
//				  
//				        int bookFixPrice = (int) book.getBookFixPrice();
//					    final String strHql = "from Book as book where book.bookPublisher = :bookPublisher "
//					        	                 + "and book.bookPublishTime like :bookPublishTime";
//					    final String bookPublisher = book.getBookPublisher();
//					    final String bookPublishTime = book.getBookPublishTime();
//					    //final float bookFixPrice = book.getBookFixPrice();
//				        list = (ArrayList<Book>) this .getHibernateTemplate().executeFind( new  HibernateCallback()  {
//				             public  List doInHibernate(Session session)  throws  HibernateException, SQLException   {
//					              Query query = session.createQuery( strHql);
//		                          query.setString("bookPublisher", bookPublisher);
//		                          query.setString("bookPublishTime", bookPublishTime+"%");
//		                          //query.setFloat("bookFixPrice", bookFixPrice);
//					              return  query.list();
//				             }
//				        });
//				          //this.updateBook(book, list);
//						  if(null != list && list.size()>0){
//							  
//							  for(int i=0;i<list.size();i++){
//								  Book temp = (Book)list.get(i); 
//								  if(bookFixPrice == (int)temp.getBookFixPrice()){
//							 
//								    flag = true;
//									//Book temp = (Book)list.get(0);
//									//System.out.println("hasupdate>>"+temp.getBookName() + temp.getBookImage());
//						            Price price = book.getPrice();
//						            
//						            if(null != price.getChina_pubUrl()){
//						          	  
//						          	  temp.getPrice().setChina_pubDiscount(price.getChina_pubDiscount());
//						          	  temp.getPrice().setChina_pubPrice(price.getChina_pubPrice());
//						          	  temp.getPrice().setChina_pubUrl(price.getChina_pubUrl());
//						          	  
//						            }else if(null != price.getDangdangUrl()){
//						          	  
//						          	  temp.getPrice().setDangdangDiscount(price.getDangdangDiscount());
//						          	  temp.getPrice().setDangdangPrice(price.getDangdangPrice());
//						          	  temp.getPrice().setDangdangUrl(price.getDangdangUrl());
//						          	  
//						            }else if(null != price.getZhuoyueUrl()){
//						          	  temp.getPrice().setZhuoyueDiscount(price.getZhuoyueDiscount());
//						          	  temp.getPrice().setZhuoyuePrice(price.getZhuoyuePrice());
//						          	  temp.getPrice().setZhuoyueUrl(price.getZhuoyueUrl());
//						          	  
//						            }else if(null != price.getTsinghuaUrl()){
//		
//						          	  temp.getPrice().setTsinghuaDiscount(price.getTsinghuaDiscount());
//						          	  temp.getPrice().setTsinghuaPrice(price.getTsinghuaPrice());
//						          	  temp.getPrice().setTsinghuaUrl(price.getTsinghuaUrl());
//						            }else if(null != price.getWeilanUrl()){
//		
//						          	  temp.getPrice().setWeilanDiscount(price.getWeilanDiscount());
//						          	  temp.getPrice().setWeilanPrice(price.getWeilanPrice());
//						          	  temp.getPrice().setWeilanUrl(price.getWeilanUrl());
//						            }else if(null != price.getBookschinaUrl()){
//		
//						          	  temp.getPrice().setBookschinaDiscount(price.getBookschinaDiscount());
//						          	  temp.getPrice().setBookschinaPrice(price.getBookschinaPrice());
//						          	  temp.getPrice().setBookschinaUrl(price.getBookschinaUrl());
//						            }
//						          	  
//						            /*更新此记录其它没有的信息*/
//						            if(null == temp.getBookAuthor()){
//						          	  temp.setBookAuthor(book.getBookAuthor());
//						            }
//						            if(null == temp.getBookImage()){
//						          	  temp.setBookImage(book.getBookImage());
//						          	  
//						            }
//						            if(null == temp.getBookISBN()){
//						          	  temp.setBookISBN(book.getBookISBN());
//						            }
//						            if(0.00 == temp.getBookFixPrice()){
//						          	  temp.setBookFixPrice(book.getBookFixPrice());
//						            }
//						            if(null == temp.getBookPublisher()){
//						          	  temp.setBookPublisher(book.getBookPublisher());
//						            }
//						            if(null == temp.getBookPublishTime()){
//						          	  temp.setBookPublishTime(book.getBookPublishTime());
//						            }
//						            /*更新到数据库*/
//						            this.getHibernateTemplate().update(temp);
//						            break;
//								  }
//							  }
//					            
//					}
//			 }
//		  }
//		  if(!flag){
////             System.out.println("save2::"+book.getBookName()+">>"+book.getBookImage()+">>"+book.getBookFixPrice()+">>"
////     		           +book.getBookISBN()+">>"+book.getBookPublishTime()+">>"
////     		           +book.getBookPublisher() + ">>" + book.getPrice().getBookschinaDiscount() + ">>"
////     		           + book.getPrice().getBookschinaPrice() + ">>" + book.getPrice().getBookschinaUrl());
//  			  this.getHibernateTemplate().save(book); 
//  		  }
//
//	}
//    private synchronized void updateBook(Book book,List list){
//		  /*如果数据库中有相同书名的记录,则更新此记录信息*/
//		  if(list.size()>0){
//			  
//			Book temp = (Book)list.get(0);
//			  
//            Price price = book.getPrice();
//            
//            if(null != price.getChina_pubUrl()){
//          	  
//          	  temp.getPrice().setChina_pubDiscount(price.getChina_pubDiscount());
//          	  temp.getPrice().setChina_pubPrice(price.getChina_pubPrice());
//          	  temp.getPrice().setChina_pubUrl(price.getChina_pubUrl());
//          	  
//            }else if(null != price.getDangdangUrl()){
//          	  
//          	  temp.getPrice().setDangdangDiscount(price.getDangdangDiscount());
//          	  temp.getPrice().setDangdangPrice(price.getDangdangPrice());
//          	  temp.getPrice().setDangdangUrl(price.getDangdangUrl());
//          	  
//            }else if(null != price.getZhuoyueUrl()){
//          	  temp.getPrice().setZhuoyueDiscount(price.getZhuoyueDiscount());
//          	  temp.getPrice().setZhuoyuePrice(price.getZhuoyuePrice());
//          	  temp.getPrice().setZhuoyueUrl(price.getZhuoyueUrl());
//          	  
//            }else if(null != price.getTsinghuaUrl()){
//
//          	  temp.getPrice().setTsinghuaDiscount(price.getTsinghuaDiscount());
//          	  temp.getPrice().setTsinghuaPrice(price.getTsinghuaPrice());
//          	  temp.getPrice().setTsinghuaUrl(price.getTsinghuaUrl());
//            }else if(null != price.getWeilanUrl()){
//
//          	  temp.getPrice().setWeilanDiscount(price.getWeilanDiscount());
//          	  temp.getPrice().setWeilanPrice(price.getWeilanPrice());
//          	  temp.getPrice().setWeilanUrl(price.getWeilanUrl());
//            }else if(null != price.getBookschinaUrl()){
//
//          	  temp.getPrice().setBookschinaDiscount(price.getBookschinaDiscount());
//          	  temp.getPrice().setBookschinaPrice(price.getBookschinaPrice());
//          	  temp.getPrice().setBookschinaUrl(price.getBookschinaUrl());
//            }
//          	  
//            /*更新此记录其它没有的信息*/
//            if(null == temp.getBookAuthor()){
//          	  temp.setBookAuthor(book.getBookAuthor());
//            }
//            if(null == temp.getBookImage()){
//          	  temp.setBookImage(book.getBookImage());
//          	  
//            }
//            if(null == temp.getBookISBN()){
//          	  temp.setBookISBN(book.getBookISBN());
//            }
//            if(0.00 == temp.getBookFixPrice()){
//          	  temp.setBookFixPrice(book.getBookFixPrice());
//            }
//            if(null == temp.getBookPublisher()){
//          	  temp.setBookPublisher(book.getBookPublisher());
//            }
//            if(null == temp.getBookPublishTime()){
//          	  temp.setBookPublishTime(book.getBookPublishTime());
//            }
//            
//            this.getHibernateTemplate().update(temp);
//		  }else{
//			  this.getHibernateTemplate().save(book); ;
//		  }     
//    }
	public boolean isExist(String bookIsbn) {
		
		if("".equals(bookIsbn)||null == bookIsbn)
			return false;	
		else{
			list = this.getHibernateTemplate().find("from Book as book where book.bookISBN = ?",bookIsbn);
	       
			if(null != list&&list.size() > 0)
				return true;
			else
				return false;
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -