在HIbernate中,实体类如何映射到数据库
2013-08-01
展开全部
是通过映射文件来映射的。举个简单的例子,例如我有个Teacher实体类(某教学管理系统老师用户):
private Integer id; //编号
private String name; //姓名
private String password; //密码
private Date createDate; //创建日期
同时,我创茄消建了数据表TEACHER:
create table teacher( id number(9) primary key, --编号 name varchar2(20), --姓名 password varchar2(20), --密码 create_date date --创建日期 );
这时,怎么关联它们呢?通过加载hibernate框架,我们就可以使用映射文件来关联实体类和数据库了
文件名:Teacher.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="com.yss.Teacher" table="TEACHER" schema="WZM">
<id name="id" type="java.lang.Integer">
<column name="ID" precision="9" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" />
</property>
<槐陆property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" />
</property>
<property name="createDate" type="java.util.Date">
<column name="CREATE_DATE" length="7" />
</property>
</class>
</hibernate-mapping>
当然,这只是比较简单的映射,还有什么多对多,一对多等映射,并且映射时如何设置以达到需要的效果,这些你可以在网上搜索相关资料自行查看。
private Integer id; //编号
private String name; //姓名
private String password; //密码
private Date createDate; //创建日期
同时,我创茄消建了数据表TEACHER:
create table teacher( id number(9) primary key, --编号 name varchar2(20), --姓名 password varchar2(20), --密码 create_date date --创建日期 );
这时,怎么关联它们呢?通过加载hibernate框架,我们就可以使用映射文件来关联实体类和数据库了
文件名:Teacher.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="com.yss.Teacher" table="TEACHER" schema="WZM">
<id name="id" type="java.lang.Integer">
<column name="ID" precision="9" />
</id>
<property name="name" type="java.lang.String">
<column name="NAME" length="20" />
</property>
<槐陆property name="password" type="java.lang.String">
<column name="PASSWORD" length="20" />
</property>
<property name="createDate" type="java.util.Date">
<column name="CREATE_DATE" length="7" />
</property>
</class>
</hibernate-mapping>
当然,这只是比较简单的映射,还有什么多对多,一对多等映射,并且映射时如何设置以达到需要的效果,这些你可以在网上搜索相关资料自行查看。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
在HIbernate中,实体类映射到数据库的配制方法:
1、Hibernate的核心配置文件:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/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/hibernate_first</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
</session-factory>
</hibernate-configuration>
2、创建实体类:
package com.bjpowernode.hibernate;
import java.util.Date;
public class User {
private String id;
private String name;
private String password;
private Date createTime;
private Date expireTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
3、建立 User.hbm.xml,完成实体类的映射
<旅升?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<拆岁老class name="com.bjpowernode.hibernate.User"> <!-- 实体类完整路径,会在关系模型中创建一张表,
叫User,也可以用table重命名,如 table="t_user" -->
<id name="id"><!--标识主键,会在表里建主键id,也可以重命名 column="user_id" -->
<generator class="uuid"/><!--主键生成策略,generator为生成器,uuid为生成
不重复的32位字符串 -->雀此
</id>
<property name="name"/><!--其它属性,对应字段 -->
<property name="password"/>
<property name="createTime"/>
<property name="expireTime"/>
</class>
</hibernate-mapping>
4、将User.hbm.xml添加到核心配置文件hibernate.cfg.xml中。
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/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/hibernate_first</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
通过以上步骤,Hibernate将会在数据库中建立相应的表和字段。
1、Hibernate的核心配置文件:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/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/hibernate_first</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
</session-factory>
</hibernate-configuration>
2、创建实体类:
package com.bjpowernode.hibernate;
import java.util.Date;
public class User {
private String id;
private String name;
private String password;
private Date createTime;
private Date expireTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
3、建立 User.hbm.xml,完成实体类的映射
<旅升?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<拆岁老class name="com.bjpowernode.hibernate.User"> <!-- 实体类完整路径,会在关系模型中创建一张表,
叫User,也可以用table重命名,如 table="t_user" -->
<id name="id"><!--标识主键,会在表里建主键id,也可以重命名 column="user_id" -->
<generator class="uuid"/><!--主键生成策略,generator为生成器,uuid为生成
不重复的32位字符串 -->雀此
</id>
<property name="name"/><!--其它属性,对应字段 -->
<property name="password"/>
<property name="createTime"/>
<property name="expireTime"/>
</class>
</hibernate-mapping>
4、将User.hbm.xml添加到核心配置文件hibernate.cfg.xml中。
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/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/hibernate_first</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/bjpowernode/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
通过以上步骤,Hibernate将会在数据库中建立相应的表和字段。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-01
展开全部
首先配置好数据源啊,然后有个反向工程生成就可以自动生成映射文件和实体类了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询