Hibernate 实体映射

Hibernate  实体映射

1.1.  数据 库 与 数据表 表
数据库 stucourse
数据表 userinfo

                                         表 1 管理员信息表 userinfo

1.2 新建项目

 

1.3 新建数据库连接

上篇文章已讲到

 

1.4.  为项目添加 Hibernate支持

项目上右击->MyEclipse->Add Hibernate Capabilities…

在选择 hibernate 版本界面,按如下的图片内容进行选择:

生成新的配置文件:

选择数据库连接界面,选择 democnn,并修改数据为 stucourse

在添加 SessionFactory 界面中使用“New…”按钮新建一个包 org.sf.util:

 

点击“Finish”完成 Hibernate 应用能力的添加

1.5.  使用 XML  方式生成 userinfo  表的映射文件

为了后面操作的方便,在 src 包中新建一个包:org.sf.entity,用于存放表的
映入文件以及实体类(持久化类) ;
在 DB Brower 窗口中,对 userinfo 表进行反向工程,生成实体类 Userinfo 和
映射文件 Userinfo.hbm.xml,过程如下(userinfo 表右击Hibernate Reverse
Engineering…) :

 

 

 

 

 

选择主键生成界面

选择 native,由数据库管理。因为这个表和其它的表没有关系,因此不用生
成关联映射,在这个界面中直接点击“Finish”按钮,结束表的映射。
此时会弹出一个警告界面,说所使用的 democnn 连接是到 demo 数据库的,
而这个工程是连接到 stucourse 数据库的,不用管它,点击“OK”按钮即可

 

1..6.  查看并修改生成的映射文件
检查生成的映射文件 Userinfo.hbm.xml,去掉 catalog="stucouse"参数,最终
的 Userinfo.hbm.xml 文件内容如下

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD
3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.sf.entity.Userinfo" table="userinfo">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<property name="uname" type="java.lang.String">
<column name="uname" length="20">
<comment> 用户名</comment>
</column>
</property>
<property name="upass" type="java.lang.String">
<column name="upass" length="20">
<comment> 用户密码</comment>
</column>
</property>
</class>
</hibernate-mapping>

1.7.  添加测试文件测试用户表的功能

在 src 中添加 org.sf.test,在 org.sf.test 中添加 TestUserinfoHibernate 类,检查
用户数据操作信息是否成功,界面如下:

 


TestUserinfoHibernate 的 main 方法的内容如下

<span style="font-size:14px;">public static void main(String[] args) {
//Configuration cfg= new Configuration();
//cfg.configure();
Session session = HibernateSessionFactory.getSession();
Transaction tran = session.beginTransaction();
Userinfo user = new Userinfo("zs", "zs");
session.save(user);
tran.commit();
session.close();
System.out.println(" 成功的添加了一个用户");
}</span>

 使用@ 注解 方式 制作 选课 系统 管理 员 用户 实体 映射 并 做 测试

使用@注解方式生成实体映射并的测试的过程如下:@ 注解方式生成持久化类
在 org.sf.entity 中添加 UserinfoJPA 类,使用注解的方式生成持久化类,文件内容如下:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="userinfo")
public class UserinfoJPA {
@Id // 指定该列为主键。主键类型最好不要使用int 等原始类型
// 主键类型AUTO 为数据库自动增长类型
@GeneratedValue(strategy=GenerationType.AUTO)
private Integer id; // 主键
@Column(name = "uname")
private String uname; // 用户名
@Column(name="upass")
private String upass; // 密码
public UserinfoJPA() {
}
public UserinfoJPA(String uname, String upass) {
this.uname = uname;
this.upass = upass;
}
…//setter 和getter 方法
}

2. @ 注解方式的测试类

在 org.sf.test 包中添加 TestUserinfoHibJPA 测试类,该的 main 方法的内容如
下:

public static void main(String[] args) {
Configuration cfg = new AnnotationConfiguration(); // 注意这里的区别
cfg.configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
Transaction tran = session.beginTransaction();
UserinfoJPA user = new UserinfoJPA("ls", "ls");
session.save(user);
tran.commit();
session.close();
System.out.println(" 成功的添加了一条用户信息。");
}




 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值