下面我会为您详细讲解如何撰写一个简单的手工Hibernate程序示例,流程如下:
1. 环境准备
首先,我们需要准备好以下开发环境工具:
- JDK
- Eclipse
- Apache Tomcat
- Hibernate框架
2. 创建Java工程
在Eclipse中创建Java Project,并配置JDK、Apache Tomcat等环境。
3. 导入Hibernate框架
在工程中添加Hibernate框架的JAR包。
4. 创建Hibernate实体类
创建一个Java类,用于映射数据库中的一张表,该类需要使用Hibernate注解来描述字段和表信息。
示例代码:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
// 省略getter和setter方法
}
5. 创建Hibernate配置文件
创建一个名为hibernate.cfg.xml的文件,用于配置Hibernate的相关信息,如数据库连接信息、是否自动创建表等。
示例代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="com.example.User" />
</session-factory>
</hibernate-configuration>
6. 创建Hibernate工具类
创建一个Hibernate工具类,用于获取Hibernate Session对象,并且实现了增删改查等操作。
示例代码:
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// 新建Configuration对象,用于加载Hibernate配置文件
Configuration cfg = new Configuration().configure();
// 新建ServiceRegistry对象,并注册Hibernate配置文件
ServiceRegistry sr = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
// 新建SessionFactory对象
return cfg.buildSessionFactory(sr);
} catch (Throwable e) {
System.err.println("Initial SessionFactory creation failed" + e);
throw new ExceptionInInitializerError(e);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
getSessionFactory().close();
}
}
7. 创建示例方法
创建一个示例方法,用于测试Hibernate增删改查等功能。
示例代码:
public class Test {
public static void main(String[] args) {
// 获取Session对象
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
// 开启事务
Transaction tx = session.beginTransaction();
// 新建User对象,并保存到数据库
User user = new User();
user.setName("John");
user.setAge(20);
session.save(user);
// 从数据库中查询User对象,并更新其年龄
user = (User) session.get(User.class, 1);
user.setAge(21);
session.update(user);
// 从数据库中删除指定的User对象
user = (User) session.get(User.class, 1);
session.delete(user);
// 提交事务
tx.commit();
// 关闭Session和SessionFactory对象
HibernateUtil.shutdown();
}
}
8. 运行示例方法
在Eclipse中运行Test类方法,可以看到Hibernate操作数据库的完整过程。
以上就是手工Hibernate程序示例的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:简单的手工hibernate程序示例 - Python技术站