spring整合hibernate 使用hibernatetemplate做查询

首先在spring的applicationContext.xml里配置hibernate的配置和hibernatetemplate。

<bean id="hibernateTemplete" class="org.springframework.orm.hibernate3.HibernateTemplate">

<propertyname="sessionFactory"ref="sessionFactory"></property>

</bean>

<beanid="operation"class="domain.Operation"><!--Operation是一个Dao类-->

<propertyname="hibernateTemplate"ref="hibernateTemplete"/>

    </bean>

添加记录

public void save(Test t){

this.getHibernateTemplate().save(t);

System.out.println("456456");

}

//普通的查询

publicList<String>selectName(intid){

List<String>list=this.getHibernateTemplate().find("selectt.namefromTesttwheret.id=?",id);

returnlist;

}

//登录验证可以用下面一种方法。

publicbooleanselectNameById(){

Listl=this.getHibernateTemplate().find("fromTesttwheret.id=?andt.name=?",newObject[]{2,"nanren"});

if(l!=null){

System.out.println("dsaf");

returntrue;

}

returnfalse;

}

//更新表的字段

publicvoidupdate(Stringname,intid){

Testtest=(Test)hibernateTemplate.get(Test.class,id);

test.setName(name);

this.getHibernateTemplate().update(test);

}

//删除表的字段方法一

publicvoiddeleteById(intid){

List<Object>list=this.getHibernateTemplate().find("fromTesttwhereid=?",id);

this.getHibernateTemplate().deleteAll(list);

}

//删除表的字段方法二

publicvoiddeleteByD(intid){

Testtest=(Test)hibernateTemplate.load(Test.class,id);

this.getHibernateTemplate().delete(test);

    }

POJO是Test有两个属性id,name.

以上方法在本地都测试通过。

相关推荐