下面是详细的攻略:
什么是Hibernate?
Hibernate是一种采用对象关系映射(Object Relational Mapping, ORM)概念的持久性框架。Hibernate的目标是在Java平台上提供一个简单、高效的持久性解决方案。使用Hibernate可以极大地简化数据访问层的编写,同时也可以提供相当高的性能和可靠性。
Hibernate的搭建方式
在开始搭建Hibernate之前,需要确保已经安装好了相关的开发环境和工具,例如JDK、Eclipse等等。
- 下载Hibernate框架
可以在Hibernate官方网站(https://hibernate.org/)下载Hibernate,选择最新的稳定版本进行下载。
- 导入Hibernate框架
将下载好的Hibernate的jar包导入到Java项目中。
- 创建实体类
建立对应的Java实体类,定义Java实体类的属性与数据库表中的字段一一对应。
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="name")
private String name;
@Column(name="email")
private String email;
// 省略getter和setter方法
}
- 创建Hibernate配置文件
在项目的classpath目录下创建hibernate.cfg.xml,定义Hibernate的基本配置信息,包括数据库连接、数据源配置以及Hibernate的相关配置参数等等。
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<mapping class="com.demo.entity.User" />
</session-factory>
</hibernate-configuration>
- 编写Hibernate的相关代码
在Java项目中,通过Hibernate提供的接口实现数据的读写和管理等操作。
public class UserDaoImpl implements UserDao {
private SessionFactory sessionFactory;
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
public void save(User user) {
Session session = sessionFactory.getCurrentSession();
session.save(user);
}
@Override
public User getById(Long id) {
Session session = sessionFactory.getCurrentSession();
User user = session.get(User.class, id);
return user;
}
}
- 测试Hibernate
通过JUnit测试单元测试Hibernate的相关操作,来检验Hibernate是否正常工作。
Hibernate的使用示例
下面是两个Hibernate的使用示例,分别是添加数据和查询数据。
示例一:添加数据
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try {
User user = new User();
user.setName("Tom");
user.setEmail("tom@example.com");
session.save(user);
tx.commit();
} catch (Exception e) {
tx.rollback();
} finally {
session.close();
}
示例二:查询数据
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
try {
User user = session.get(User.class, 1L);
if(user != null) {
System.out.println("User id:" + user.getId());
System.out.println("User name:" + user.getName());
System.out.println("User email:" + user.getEmail());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
以上就是持久层ORM框架Hibernate框架的使用及搭建方式的完整攻略及两条示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:持久层ORM框架Hibernate框架的使用及搭建方式 - Python技术站