package com.DAO;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
import org.junit.Test;
import com.Entity.User;
public class UserDAO {
@Test
public void testSaveUser(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
User u = new User();
u.setUsername("����");
u.setPassword("123");
u.setAge(45);
u.setGender("Ů");
session.save(u);
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testQueryUsers(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("from User");
List users = query.list();
for(int i = 0; i < users.size();i++){
User user = (User)users.get(i);
System.out.println(user);
// System.out.println(i+"--"+user.getUsername()+" " + user.getPassword() + " " + user.getAge());
}
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testQueryUser(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("from User");
List users = query.list();
for(int i = 0; i < users.size();i++){
User user = (User)users.get(i);
System.out.println(user);
}
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testQueryOneAtrribute(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
User user = session.get(User.class, 3);
//��ѯ�û����û��������룬����
Query query = session.createQuery("select u.username from User u");
List usernames = query.list();
for(int i = 0; i < usernames.size();i++){
String username = (String)usernames.get(i);
System.out.println(i+"--"+username);
}
// List<User> users = query.list();
// for(User user1 : users)
// {
// System.out.println(user1.getUsername()+" " + user1.getPassword() + " " + user1.getAge());
// }
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testQuerySeveralAtrributes(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
User user = session.get(User.class, 3);
//��ѯ�û����û��������룬����
Query query = session.createQuery("select u.username,u.gender from User 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]);
}
// List<User> users = query.list();
// for(User user1 : users)
// {
// System.out.println(user1.getUsername()+" " + user1.getPassword() + " " + user1.getAge());
// }
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testQuerySeveralAtrributesByExample(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("select new User(u.username,u.gender) from User u");
List users = query.list();
for(int i = 0; i < users.size();i++){
User user = (User)users.get(i);
System.out.println(user.getUsername()+" "+ user.getGender() );
}
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test
public void testStatisticalQuery(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("select count(*) from User");
Object count = (Object)query.uniqueResult();
System.out.println("����"+count+"����¼");
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 = session.createQuery("select max(u.age) from User u");
//Object average =(Object)query.uniqueResult();
Number max =(Number)query.uniqueResult();
System.out.println("���������"+max);
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test //��ѯ���������Ļ�����Ϣ
public void testWhereQuery1(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("from User user where (user.gender ='��')");
List users = query.list();
for(int i = 0; i < users.size();i++){
User user = (User)users.get(i);
System.out.println(user);
}
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
@Test //��ѯ����10~30,�����к���'С'��
public void testWhereQuery2(){
// TODO Auto-generated method stub
SessionFactory sf = null;
Session session = null;
Transaction ts = null;
try {
sf = HibernateUtil.getSessionFactory();
session = sf.getCurrentSession();
ts = session.beginTransaction();
Query query = session.createQuery("from User u where (u.username like '%С%') and (u.age between 10 and 30)");
List users = query.list();
for(int i = 0; i < users.size();i++){
User user = (User)users.get(i);
System.out.println(user);
}
ts.commit();
} catch (HibernateException e) {
// TODO Auto-generated catch block
if(ts != null)
{
ts.rollback();
}
e.printStackTrace();
}
}
}
Hibernate中一些简单查询和复杂查询
最新推荐文章于 2024-08-22 15:09:50 发布