如何搭建Hibernate与MySQL数据库的连接

什么是hibernate框架

hibernate框架是应用在javaEE三层结构中dao层的框架。

hibernate的作用

hibernate为用户提供了封装好的类和方法,可直接在dao层中对数据库进行curd操作,不必再进行jdbc的代码实现, 也不需要再写SQL语句,hibernate的底层代码实现就是jdbc。

orm思想

orm(object relational mapping),对象关系映射,通过映射方法和配置文件将java中的实体类对象和数据库中的表一一对应,当我们需要对数据库进行操作时可直接操作实体类对象。

搭建hibernate环境

  1. 导入jar包
    在java项目下建立lib文件夹,把jar包拉进去,并导入路径(build path)

  2. 创建实体类t_User
    在这里插入图片描述

  3. 配置映射关系
    创建xml格式的配置文件,文件的命名和位置没有具体要求,引入dtd约束,并配置映射关系。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<!--1 配置实体类和表对应 
		class标签
		name属性:实体类全路径
		table属性:数据库表名称
	-->
	<class name = "cn.zzuli.lhk.t_User" table = "t_User">
	
	<!-- 2 配置实体类id和表id对应 
		hibernate要求实体类有一个属性唯一值
		hibernate要求表有字段作为唯一值
	-->
	<!-- id标签
		name属性:实体类里面id属性名称
		column属性:生成的表字段名称
	 -->
	 
	<id name = "uid" column = "uid">
	<!--设置数据库表id增长策略 
		native:生成表id值就是主键自动增长
	-->
		<generator class = "native"></generator>
	</id>
	
	<!-- 配置其他属性和表字段对应 
		name属性:实体类属性名称
		column属性:生成表字段名称
	-->
	<property name = "username" column = "username"></property>
	<property name = "gender" column = "gender"></property>
	<property name = "age" column = "age"></property>
	<property name = "address" column = "address"></property>
</hibernate-mapping>
  1. 创建hibernate的核心配置文件

核心配置文件格式xml,但是核心配置文件名称和位置固定的。

  • 位置:必须src下面
  • 名称:必须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>
		<!-- jdbc启动文件 -->
		<property name = "hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<!-- 对应的数据库名称 -->
		<property name = "hibernate.connection.url">jdbc:mysql:///workspace</property>
		<!-- 数据库用户名 -->
		<property name = "hibernate.connection.username">root</property>
		<!-- 密码 -->
		<property name = "hibernate.connection.password">123</property>
		
		<!-- hibernate 格式信息 可选的 -->
		<!-- 输出底层的sql语句 -->
		<property name = "hibernate.show_sql">true</property>
		<!-- 输出底层sql语句的格式 -->
		<property name = "hibernate.format_sql">true</property>
		<!-- 自动查询表 没有自动创建 -->
		<property name = "hibernate.hbm2ddl.auto">update</property>
		<!-- 配置sql方言 -->
		<property name = "hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
		
		<!-- 把映射文件放到核心文件当中 -->
		<mapping resource = "cn/zzuli/lhk/hbm.xml"></mapping>
	</session-factory>
</hibernate-configuration>

操作数据库

  1. 通过操作实体类操作数据库

在这里插入图片描述
2. 查看数据库中是否有数据

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值