0%

J2EE 利用 hibernate 与数据库交互入门

hibernate 简介

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

——-来自百度百科

使用 hibernate 连接数据库的过程

下面我们以建立一个 User 类和数据库表 user (userId, userName, userPwd) 为例介绍构建过程

新建数据库表

1
2
3
4
5
6
7
8
create database test;
use test;
create table user(
userId int not null auto_increment,
userName char(30),
userPwd char(30),
primary key(userId)
);

新建 Java 项目

假设 Java 项目的名字为 Test.

1

2

Myeclipse连接mysql数据库

打开数据库透视图

3

4

新建并打开连接

5

6

7

新建 hibernate 连接

8

9

10

11

12

建立映射文件

13

14

15

16

17

此时 Myeclipse 会自动建立相应的可持久化类。

18

最后写个测试类,测试一下效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import model.User;
import util.HibernateSessionFactory;

public class Test {
public static void main(String[] args){
Session session = HibernateSessionFactory.getSession();
Transaction ts = session.beginTransaction();
User user = new User();
user.setUserName("DATASOURCE");
user.setUserPwd("123456");
session.save(user);
ts.commit();
System.out.println("success");
String sql = "from User as u where u.userName = ?";
Query query = session.createQuery(sql);
query.setString(0, "DATASOURCE");
List list=query.list();
User user1 = (User)list.get(0);
System.out.println(user1.getUserName());
HibernateSessionFactory.closeSession();
}
}