hibernate配置入门

本文将引导您入门Hibernate配置,详细解析hibernate.cfg.xml文件中的各项设置,包括数据库连接、实体映射等核心配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Customer。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">
<hibernate-mapping>
	<!-- 
		class:建立javabean和表之间的关系
		  name:对应的javabean的完整路径
		  table:表名
	 -->
	<class name="cn.itcast.hibernate.domain.Customer" table="customer">
		<!-- 
			property:带映射的持久化类中属性
			  name:持久化类中属性名
			  type:property:name='name' name属性:customer类中是String
			                 column name=“nmae” name字段名,customers表中是varchar
			                 type:是hibernate中的数据类型 该数据类型是java类型和数据库中的类型的桥梁
			                 
			column:持久化类中的属性对应的表中的字段
			  name:表示表中的字段名
		 -->
		 <id name="id" type="integer">
		 	<!-- 
		 		id:用于映射表的主键 配置主键生成策略 获取表中的最大值+1
		 	 -->
		 	<column name="id"></column>
		 	
		 </id>
		 
		<property name="name" type="string">
			<column name="name"></column>
		</property>
		
		<property name="age" type="integer">
			<column name="age"></column>
		</property>
		
		<property name="des" type="text">
			<column name="des"></column>
		</property>
	</class>
</hibernate-mapping>



hibernate。cfg。xml中的配置


<?xml version="1.0" encoding="UTF-8"?>
<!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</property>
     <property name="hibernate.connection.username">root</property>
     <property name="hibernate.connection.password">1111</property>
		<!-- 配置数据库方言  通过方言知道连接到那个数据库 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
		<property name="hibernate.show_sql">true</property>
		<property name="hibernate.format_sql">true</property>
		<mapping resource="cn/itcast/hibernate/domain/Customer.hbm.xml"/>
	</session-factory>

</hibernate-configuration>

测试类


package cn.itcast.hibernate.domain;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class App {
	public static void main(String[] args) {
		/*
		 * 加载hibernate.cfg.xml映射文件
		 * 获取sessionFactory
		 * 获取session
		 * 开始事务
		 * 实例customer对象
		 * 保存
		 * 提交
		 * 关闭session
		 */
		//加载hibernate。cfg。xml文件
		Configuration config=new Configuration();
		config.configure();
		/*
		 * 获取sessionFactory
		 * 利用config保存的信息创建SessionFactory
		 * SessionFactory 保存了连接数据库的信息和映射文件的配置信息 预定义sql语句
		 * SessionFactory是线程安全的 最后有一个SessionFactory
		 */
		SessionFactory sf=config.buildSessionFactory();
		Session s=sf.openSession();
		//开启事务
		Transaction ts=s.beginTransaction();
		//实例化Customer对象
		Customer c=new Customer();
		c.setName("liu");
		c.setAge(23);
		c.setDes("haoren");
		c.setId(1);
		//保存
		s.save(c);
		//提交
		ts.commit();
		s.close();
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值