在MyEclipse下如何添加hibernate支持(2)
在上一篇文章里我们已经成功的为项目添加了hibernate支持,接下来我们来进行相关的测试与调试技巧
6、测试HQL语言
在java视图下,项目 --- myeclipse --- open hql editor
在HQL Editor中输入:“from UserInfo” 即可查询到表中所有的对象,同时选中某一个对象,在右边的properties视图中还可以看到这个对象中具体属性的值
7、测试POJO类,编写UserTest
测试类UserTest.java代码为:
package?com.njcit.hibernate;
import?java.util.List;
import?org.hibernate.Query;
import?org.hibernate.Session;
import?org.hibernate.Transaction;
import?com.njcit.hibernate.HibernateSessionFactory;
public?class?HibernateTest {
/**
*?@param?args
*/
public?static?void?main(String[] args) {
//?TODO?Auto-generated method stub
Session session=HibernateSessionFactory.getSession();
Transaction trans=session.beginTransaction();
Userinfo u=new?Userinfo();
u.setUserid("1111");
u.setUsername("444");
u.setPassword("222333");
u.setAddress("111");
u.setEmail("111");
u.setTelephone("222");
trans.begin();
System.out.println("userid:"+u.getUserid());
System.out.println("username:"+u.getUsername());
session.save(u);
trans.commit();
//===========================================
Userinfo u2=(Userinfo)session.get(Userinfo.class,"1006");
u2.setUsername("newname");
trans.begin();
session.saveOrUpdate(u2);
trans.commit();
//==============================================
Userinfo u3=(Userinfo)session.get(Userinfo.class,?"1001");
trans.begin();
session.delete(u3);
trans.commit();
//==============================================
Query q=session.createQuery("from Userinfo");
List?list=q.list();
for(Object o:list){
System.out.println(((Userinfo)o).getUserid()+?((Userinfo)o).getUsername());
}
session.close();
}
}
?
测试类中分别完成数据插入,数据修改,数据删除,数据查询。
运行结果为:
?
?
?
?
?
?
?
8、调试小结:
?
ü?在database explorer视图中创建POJO类时,注意选择的表如果满足某种关联条件则生成的相应配置文件会引用其他的类,而这些类本身并不存在,运行时即报错。这时需要修改配置文件*.hbm.xml
?