spring整合hibernate 使用hibernatetemplate做查询
首先在spring的applicationContext.xml里配置hibernate的配置和hibernatetemplate。
<bean id="hibernateTemplete" ref="sessionFactory"></property>
??? </bean>
??? <bean id="operation" ref="hibernateTemplete"/>
??? </bean>
添加记录
public void save(Test t){
??? ??? this.getHibernateTemplate().save(t);
??? ??? System.out.println("456456");
??? }
??? //普通的查询
??? public List<String> selectName(int id){
??? ??? List<String> list = this.getHibernateTemplate().find("select t.name from Test t where t.id=?", id);
??? ??? return list;
??? }
???
??? //登录验证可以用下面一种方法。
??? public boolean selectNameById(){
??? ??? List l = this.getHibernateTemplate().find("from Test t where t.id=? and t.name=?", new Object[]{2, "nanren"});
??? ??? if(l != null){
??? ??? ??? System.out.println("dsaf");
??? ??? ??? return true;
??? ??? }
??? ??? return false;
??? }
??? //更新表的字段
??? public void update(String name,int id){
??? ??? Test test = (Test)hibernateTemplate.get(Test.class, id);
??? ??? test.setName(name);
??? ??? this.getHibernateTemplate().update(test);
??? }
??? //删除表的字段方法一
??? public void deleteById(int id){
??? ??? List<Object> list = this.getHibernateTemplate().find("from Test t where id=?", id);
??? ??? this.getHibernateTemplate().deleteAll(list);
??? }
??? //删除表的字段方法二
??? public void deleteByD(int id){
??? ??? Test test = (Test)hibernateTemplate.load(Test.class, id);
??? ??? this.getHibernateTemplate().delete(test);
??? }
POJO是Test有两个属性id,name.
以上方法在本地都测试通过。