User类
@Entity
@Table(name = "tb_user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(length = 50)
private String name;
private int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return String.format("id=%d, name=%s, age=%d", id, name, age);
}
}
工具类1
public class HibernateUtil {
private static SessionFactory factory;
static{
factory =new Configuration().configure().buildSessionFactory();
}
private static ThreadLocal<Session> session =new ThreadLocal<>();
public static Session openSession(){
Session s=session.get();
if(s==null || !s.isOpen()){
s=factory.openSession();
session.set(s);
}
return s;
}
public static void closeSession(){
Session s= session.get();
session.set(null);
if(s!=null&&s.isOpen()){
s.close();
}
}
public static void destory(){
if(factory.isOpen()){
factory.close();
}
}
}
Test类2
public class Testw2 {
@Test
public void insert(){
Session session = HibernateUtil.openSession();
for(int i=0;i<10;i++){
User u = new User();
u.setAge(20+i);
u.setName("汪"+i);
session.save(u);
}
session.close();
}
@Test
public void delete(){
Session session = HibernateUtil.openSession();
Transaction t=session.beginTransaction();
User u=session.get(User.class, 1L);
session.delete(u);
User u1 = new User();
u1.setId(5L);
t.commit();
session.close();
}
@Test
public void update(){
Session session = HibernateUtil.openSession();
Transaction tx = session.beginTransaction();
User u = new User();
u.setId(7L);
//u.setName("sss");
session.saveOrUpdate(u);
tx.commit();
session.close();
}
@Test
public void query_hql(){
Session session = HibernateUtil.openSession();
String hql = "from User";
List<User> list = session.createQuery(hql,User.class).list();
for(User u : list){
System.out.println(u);
}
HibernateUtil.closeSession();
}
@Test
public void query_hql2(){
Session session = HibernateUtil.openSession();
String hql = "select u from User u where u.age>?1";
//String hql = "from User where age>?1";
List<User> list = session.createQuery(hql,User.class).setParameter(1, 25).list();
for(User u:list){
System.out.println(u);
}
String hql2 = "from User where age>:age and name like ?1";
List<User> list2 =session.createQuery(hql2,User.class).setParameter("age", 25).setParameter(1, "汪%").list();
for(User u : list2){
System.out.println(u);
}
HibernateUtil.closeSession();
}
@AfterClass
public static void close(){
HibernateUtil.destory();
}
}