前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Hibernate】Hibernate的映射关系「建议收藏」

【Hibernate】Hibernate的映射关系「建议收藏」

作者头像
全栈程序员站长
发布2022-08-09 21:56:22
7130
发布2022-08-09 21:56:22
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

还记得我们在EF映射中学过的ORM 吗?ORM(Object Relational Mapping )就是对象关系映射,它是指面向对象的对象模型和关系型数据库的结构之间的相互转换。当我们操作实体对象的时候,就不需要操作复杂的SQL语句,而是对实体对象的属性和方法进行操作。Hibernate就体现了ORM的思想,将关系数据库中的表映射成对象,开发人员对数据库的操作就可以转化为对对象的操作。

Hibernate映射的基本结构

Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java)、映射文件(*.hbm.xml)和数据库配置文件(*.properties/*.cfg.xml),它们各自的作用如下。

映射类(*.java):它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。

映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。

数据库配置文件(*.properties/*.cfg.xml):它是指定与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等。当然还可以把映射类的地址映射信息放在这里。

举个例子:

数据库中有User表,表中有userId和userName两个字段,则对应的User.java文件为:

代码语言:javascript
复制
public class User {

	private String userId;
	
	private String userName;

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
}

在User.hbm.xml文件中配置User对象和User表的映射:

代码语言:javascript
复制
<hibernate-mapping>
	<class name="com.tgb.hibernate.User">
		<!-- 主键 -->
		<id name="userId">
			<generator class="uuid"/>			
		</id>
		<property name="userName" column="user_name"/> 
	</class>	
</hibernate-mapping>

hibernate.cfg.xml文件中链接数据库的信息

代码语言:javascript
复制
<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="hinrtnste.connection.password">123456</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		
		<mapping resource="com/tgb/hibernate/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

Hibernate实现的关系映射

【Hibernate】Hibernate的映射关系「建议收藏」
【Hibernate】Hibernate的映射关系「建议收藏」

上面的代码就是基本映射的体现,接下来会继续介绍常用的关系映射,敬请期

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105698.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hibernate映射的基本结构
  • Hibernate实现的关系映射
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档