package com.ittx.hibernate.dao;
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.ittx.hibernate.model.User;
public class UserTest {
Session session;
//junit测试,先执行before,后内容,最后执行after,这样减少重复代码量
@Before
public void before(){
Configuration configuration = new Configuration().configure();
SessionFactory sessionFactory = configuration.buildSessionFactory(
new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build());
session = sessionFactory.getCurrentSession(); //sessionFactory.openSession()
session.beginTransaction();
}
@After
public void after(){
session.getTransaction().commit();
}
@Test
public void testAddUser() {
User user = new User(1,"张三","abcd",new Date());
session.save(user);
}
@Test
public void testSelectUserById(){
// User user = (User) session.get(User.class, 1);
User user = (User) session.load(User.class, 1);
System.out.println(user);
}
@Test
public void testUpdate(){
// User user = new User(1,"李四1","123",new Date());
// session.update(user);
User user = (User) session.get(User.class, 1);
user.setUserName("王二");
session.update(user);
}
@Test
public void testDelete(){
// User user = new User(1,"李四1","123",new Date());
// session.delete(user);
User user = (User)session.get(User.class, 2);
session.delete(user);
}
@Test
public void testSelectAllUser(){
String hql = "FROM User ORDER BY id DESC ";
Query query = session.createQuery(hql);
List<User> userLists = query.list();
for(User user:userLists){
System.out.println(user);
}
}
@Test
public void testSelectUserName(){
String hql = "SELECT u.userName FROM User AS u";
Query query = session.createQuery(hql);
List<String> userLists = query.list();
for(String user:userLists){
System.out.println(user);
}
}
@Test
public void testSelectdUserByUsername(){
String hql = "FROM User WHERE userName = :name AND passWord = :psw";
Query query = session.createQuery(hql);
query.setParameter("name", "张三");
query.setParameter("psw", "abcd");
User user = (User) query.uniqueResult();
System.out.println(user);
}
@Test
public void testUpdateUsers(){
String hql = "UPDATE User SET userName=:name WHERE passWord=:psw";
Query query = session.createQuery(hql);
query.setParameter("name", "麻子");
query.setParameter("psw", "123");
int order = query.executeUpdate();
System.out.println("order :"+order);
}
@Test
public void testDeleteUserByUserName(){
String hql = "DELETE User WHERE userName = :name";
Query query = session.createQuery(hql);
query.setParameter("name", "张三");
query.executeUpdate();
}
}
hibernate查询语言
最新推荐文章于 2018-09-21 18:18:51 发布