对象增删改查与SQL查询操作方法。
packageDao;
importjava.util.List;
importorg.hibernate.Query;
importorg.hibernate.Session;
importorg.hibernate.Transaction;
importorg.junit.Test;
importdomain.User;
importutils.HibernateUtils;
publicclassUserDao{
//增加用户
@Test
publicvoidaddUser(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Useruser=newUser();//瞬时对象
user.setName("小王");
user.setSex("女");
user.setAge(33);
user.setHeight(180);
user.setHobby("做饭");
session.save(user);//持久对象
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//查询用户
@Test
publicvoidfindUser(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Useruser=session.get(User.class,4);//持久对象
System.out.println(user);
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//修改用户
@Test
publicvoidupdateUser(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Useruser=session.get(User.class,4);
user.setAge(25);
user.setHobby("吃饭");
session.update(user);//持久对象
System.out.println(user);
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//删除用户
@Test
publicvoiddeleteUser(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Useruser=session.get(User.class,6);
session.delete(user);
System.out.println(user);
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//简单查询
@Test
publicvoidqueryUser(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Queryquery=session.createQuery("fromUser");
Listusers=query.list();
for(Useruser:users){
System.out.println(user);
}
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//属性查询
@Test
publicvoidqueryUserName(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Queryquery=session.createQuery("selectu.namefromUseru");
Listnames=query.list();
for(Stringuser:names){
System.out.println(user);
}
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//实例化查询
@Test
publicvoidqueryUserExample(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Queryquery=session.createQuery("fromUserwhereage=21");
Listusers=query.list();
for(Useruser:users){
System.out.println(user);
}
ts.commit();
}catch(Exceptione){
if(ts!=null)
{
ts.rollback();
}
e.printStackTrace();
}
}
//统计查询
@Test
publicvoidqueryUserGroup(){
Sessionsession=null;
Transactionts=null;
try{
session=HibernateUtils.getSession();
ts=session.beginTransaction();
Queryquery=session.createQuery("selectavg(