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

📄 hibernatetemplateoper.java

📁 随书光盘:精通Sping 2.0 的随书源代码
💻 JAVA
字号:
package test;

import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Property;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.samples.Owners;
import org.springframework.samples.Visits;

/**
 * 
 * @author worldheart
 *
 */
public class HibernateTemplateOper extends HibernateDaoSupport {

	protected static final Log log = LogFactory.getLog(HibernateTemplateOper.class);
	
	public void testOper(){
		log.info("testOper().......");
		
		Owners own = (Owners)this.getHibernateTemplate().execute(new HibernateCallback(){
			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				return session.load(Owners.class, 1);
			}
		});
		
		log.info(own);
		
		List list = this.getHibernateTemplate().executeFind(new HibernateCallback(){
			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				return session.createQuery("from Owners").list();
			}
		});
		
		log.info(list);
		
		Owners own1 = (Owners)this.getHibernateTemplate().get(Owners.class, 1);
		Owners own2 = (Owners)this.getHibernateTemplate().load(Owners.class, 1);
		this.getHibernateTemplate().refresh(own1);
		this.getHibernateTemplate().refresh(own2);
		
		List list1 = this.getHibernateTemplate().findByNamedQuery("namedVisits", 2);
		log.info(list1);
		
		List list2 = this.getHibernateTemplate().
			findByNamedQueryAndNamedParam("namedAndParamedVisits", new String[]{"id"}, new Object[]{2});
		log.info(list2);
		
		DetachedCriteria dc = DetachedCriteria.forEntityName("org.springframework.samples.Visits")
			.add(Property.forName("id").eq(2));
		List  dcList1 = this.getHibernateTemplate().findByCriteria(dc);
		log.info(dcList1);
		
		Visits visits = new Visits();

		List exaList = this.getHibernateTemplate().findByExample(visits,1,2);
		for(Object visit: exaList){
			Visits vis = (Visits)visit;
			log.info("id:" + vis.getId() + ",visitDate:" + vis.getVisitDate() + ",description:" + 
					vis.getDescription() + ",pets:" + vis.getPets());
		}
		
		Iterator iterator = this.getHibernateTemplate().iterate("from Visits vi where vi.id = ?", new Object[]{2});
		while(iterator.hasNext()){
			Visits vis = (Visits)iterator.next();
			log.info("id:" + vis.getId() + ",visitDate:" + vis.getVisitDate() + ",description:" + 
					vis.getDescription() + ",pets:" + vis.getPets());
		}
		//关闭迭代器
		this.getHibernateTemplate().closeIterator(iterator);
		
		int updatedRows = this.getHibernateTemplate()
			.bulkUpdate("update Owners set telephone = '10000000' where lastName = ?", "Davis" );
		log.info(updatedRows);
				
	}
	
}

⌨️ 快捷键说明

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