文章目录
Hibernate基础查询
创建一个对象并配置
单例模式创建SessionFactory
创建HQL测试
Hibernate基础查询
创建一个对象并配置
public class User {
private int id;
private String name;
private int age;
public User() {
}
public User( String name, int age) {
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int 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;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.allwinter.pojo">
<class name="User" table="t_user">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="age" column="age"/>
</class>
</hibernate-mapping>
单例模式创建SessionFactory
package com.allwinter.utils;
import org.hibernate.*;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static SessionFactory sessionfactory;
static {
try{
//实例化SessionFactory;
sessionfactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable e){
System.err.println("SessionFactory 创建失败!" + e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionfactory(){
return sessionfactory;
}
}
创建HQL测试
@Test
public void queryuser(){
SessionFactory sessionfactory = HibernateUtil.getSessionfactory();
Session session = sessionfactory.openSession();
Transaction tx = session.beginTransaction();
try{
//指定HQL语句,并生成Query对象
Query query = session.createQuery("FROM User");
//执行查询语句
List<User> users = query.list();
//输出方法一
// users.forEach(System.out::println);
//输出方法二
// for(int i = 0; i < users.size(); i++){
// System.out.println(users.get(i));
// }
//输出方法三
// for (User user : users){
// System.out.println(user);
// }
}catch (Exception e){
e.printStackTrace();
}
}
测试结果