hibernate连接数据库
时间: 2023-06-28 11:15:30 浏览: 122
使用 Hibernate 连接数据库需要进行以下步骤:
1. 添加 Hibernate 依赖库到项目中。
2. 配置 Hibernate 的配置文件(hibernate.cfg.xml)。
3. 定义数据表与 Java 类之间的映射关系(通过 Hibernate 的注解或者 XML 映射文件)。
4. 编写 Java 代码调用 Hibernate API 进行 CRUD 操作。
下面是一个简单的 Hibernate 连接 MySQL 数据库的示例:
1. 添加 Hibernate 依赖库到项目中:
在 Maven 项目中,可以在 pom.xml 文件中添加以下依赖:
```
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.30.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
```
2. 配置 Hibernate 的配置文件(hibernate.cfg.xml):
```
<?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.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test?serverTimezone=UTC</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
<property name="hibernate.show_sql">true</property>
<mapping class="com.example.User"/>
</session-factory>
</hibernate-configuration>
```
3. 定义数据表与 Java 类之间的映射关系:
可以使用注解方式或者 XML 映射文件的方式进行映射。
使用注解方式的示例:
```
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "age")
private Integer age;
// 省略 getter 和 setter 方法
}
```
4. 编写 Java 代码调用 Hibernate API 进行 CRUD 操作:
```
// 加载 Hibernate 配置文件
Configuration configuration = new Configuration().configure();
// 创建 SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
// 创建 Session
Session session = sessionFactory.openSession();
// 开启事务
Transaction transaction = session.beginTransaction();
// 新增用户
User user = new User();
user.setName("张三");
user.setAge(20);
session.save(user);
// 提交事务
transaction.commit();
// 关闭 Session
session.close();
// 关闭 SessionFactory
sessionFactory.close();
```
以上代码实现了向数据库中插入一条数据的操作,其他的 CRUD 操作也类似。
阅读全文