1.get()方法
数据库:
get()方法代码:
package com.tyf.hibernate;
import org.hibernate.Session;
import com.tyf.entity.Users;
public class TestGetUser {
public static void main(String[] args) {
new TestGetUser().getUserById(2);
}
private void getUserById(int i){
Session session=HibernateSessionFactory.getSession();
Users user=(Users)session.get(Users.class, i);
System.out.println(user.getName()+"还有"+user.getPassword());
HibernateSessionFactory.closeSession();
}
}
运行结果:
如果将i 的值改为没有的值比如4 结果:
运行结果出现了空指针异常(NullPointException),是由user对象调用的getName方法引起的,原因在于user对象为null,因此使用get()方法加载数据时,如果指定的记录不存在,则返回null.
2.load()方法
package com.tyf.hibernate;
import org.hibernate.Session;
import com.tyf.entity.Users;
public class TestLoadUser {
public static void main(String[] args) {
new TestLoadUser().loadUserById(2);
}
private void loadUserById(int i){
Session session=HibernateSessionFactory.getSession();
Users user=(Users)session.load(Users.class, i);
System.out.println(user.getName()+"还有"+user.getPassword());
HibernateSessionFactory.closeSession();
}
}
运行结果;
讲i换成4:
出现了ObjectNotFoundException异常,表示对象没有发现,这个异常说明使用load()方法加载时,要求记录必须存在,这一点与get()方法是不同的。