在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、调试小结:

ü 创建数据连接时必须给出正确的URL,用户名,密码,并且正确引入数据库驱动包。

 

ü 为工程引入hibernate支持时,引入版本3.1(3.2的配置中有稍许区别)

 

 

ü 在database explorer视图中创建POJO类时采用默认设置,如果主键生成策略为native则需要额外的配置,否则报错。(设置为native则数据插入时报错)

 

 

ü 在database explorer视图中创建POJO类时,注意选择的表如果满足某种关联条件则生成的相应配置文件会引用其他的类,而这些类本身并不存在,运行时即报错。这时需要修改配置文件*.hbm.xml

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值