package hibernate;
import java.util.Date;
import java.util.List;
import javax.xml.crypto.Data;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
public class test {
public static void main(String[] args) {
Configuration conf = new Configuration().configure();//1、读取配置文件
SessionFactory sf = conf.buildSessionFactory();// 2、创建SessionFactory
Session session = sf.openSession();// 3、打开Session
Transaction tx = null;
try{
tx = session.beginTransaction();// 4、开始一个事务
// 5、持久化操作
// User user = new User();
// //增加
// user.setName("123");
// user.setBirthday(new Date());;
// session.save(user);
//简单查询 用户名 name
// Query query = session.createQuery("from User");
// List users = query.list();
// for(int i=0;i<users.size();i++)
// {
// user =(User)users.get(i);
// System.out.println(i+"--"+user.getName());
// }
//属性查询两个以上属性
// Query query = session.createQuery("select u.name, u.birthday from User as u");
// List users = query.list();
// for(int i=0;i<users.size();i++)
// {
// Object obj[] =(Object[])users.get(i);
// System.out.println("用户名"+obj[0]+"的生日为:"+obj[1]);
// }
//去除重复查询
// String username;
//
// Query query = session.createQuery("select distinct u.name from User as u");
// List usernames = query.list();
// for(int i=0;i<usernames.size();i++)
// {
// username =(String)usernames.get(i);
// System.out.println(i+"--"+username);
// }
//实例化查询
// String name = null;
// Date birthday = null;
// User user = new User(name, birthday);
// Query query = session.createQuery("select new User(u.name,u.birthday) from User as u");
// List users = query.list();
// for(int i=0;i<users.size();i++)
// {
// user =(User)users.get(i);
// System.out.println(user.getName()+"的密码为:"+user.getBirthday());
// }
//统计函数查询
// count():统计记录条数。
// min():求最小值。
// max():求最大值。
// sum():求和。
// avg():求平均值。
// Query query = session.createQuery("select count(*) from User");
// Object count = (Object)query.uniqueResult();
// System.out.println("共有"+count+"条记录");
// Query query = session.createQuery("select avg(u.age) from User u");
// //Object average =(Object)query.uniqueResult();
// Number average =(Number)query.uniqueResult();
// System.out.println("平均年龄为:"+average);
//子查询
// Query query = session.createQuery("from User u where u.age>(select avg(age) from User)");
// List users = query.list();
// for(int i=0;i<users.size();i++)
// {
// user =(User)users.get(i);
// System.out.println(i+"--姓名:"+user.getUsername()+"--年龄"+user.getAge());
// }
// 修改 修改的是全部 而不是一条
// Query query = session.createQuery("update User set name='Hibernate' where name='Hibernate user'");
// query.executeUpdate();
//删除
// Query query = session.createQuery("delete User u where u.name='123'");
// query.executeUpdate();
tx.commit();// 6、 提交事务
}catch(Exception e){
if (null!=tx){tx.rollback();}
e.printStackTrace();
}finally{
session.close();// 7、关闭Session
}
}
}
各种查询
最新推荐文章于 2022-11-23 18:04:18 发布