Hibernate环境的搭建

1、首先导入jar包:
(1)Hibernate的jar包文件夹中lib下的required下的所有jar包
在这里插入图片描述
在这里插入图片描述
(2)lib下的jpa下面的jar包
在这里插入图片描述
(3)log4j和slf4j的jar包
在这里插入图片描述
在这里插入图片描述
(4)mysql的驱动jar包:
在这里插入图片描述
2、创建一个实体类(就是JavaBean),注意属性要和你想创建的数据库表中的字段一一对应,且要有一个属性是值不能为重复的(如id)!
例如(User.java):

package cn.melo.entity;

public class User {
	private int id;
	private String name;
	private int age;
	private String gender;
	
	public User() {
		super();
	}
	
	public User(int id, String name, int age, String gender) {
		super();
		this.id = id;
		this.name = name;
		this.age = age;
		this.gender = gender;
	}
	
	public User(String name, int age, String gender) {
		super();
		this.name = name;
		this.age = age;
		this.gender = gender;
	}

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	
	
}

3、创建用于配制映射关系的xml:
一般把它放在实体类所在的包下,命名格式一般为:实体类名.hbm.xml;
要引入dtd约束,可以到hibernate-mapping.dtd中去找到<!DOCTYPE,然后复制粘贴即可!在这里插入图片描述
如:User.hbm.xml

<?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>
    	<class name="cn.melo.entity.User" table="t_user">
    		<!-- 属性和表字段都是有唯一值的! -->
    		<id name="id" column="id">
    			<!-- native表示该字段在数据库表中是自增长,且自动增长 -->
    			<generator class="native"></generator>
    		</id>
    		<!-- 配置其他属性和表字段的对应关系 -->
    		<property name="name" column="name"></property>
    		<property name="age" column="age"></property>
    		<property name="gender" column="gender"></property>
    	</class>
    </hibernate-mapping>

4、配置hibernate核心配置文件:
位置必须放在src下面,命名必须是hibernate.cfg.xml
引入dtd约束,到hibernate-configuration.dtd文件中去找即可;
如,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>
			<!-- 1、配置数据库信息 -->
			<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
			<!--数据库url,自己的数据库名不要写错 -->
			<property name="hibernate.connection.url">jdbc:mysql:///hibernateDemo</property>
			<!--数据库的用户名 -->
			<property name="hibernate.connection.username">xxx</property>
			<!--数据库的登录密码 -->
			<property name="hibernate.connection.password">xxx</property>
			
			<!-- 2、配置Hibernate信息 -->
			<!-- 输出SQL语句 -->
			<property name="hibernate.show_sql">true</property>
			<!-- 格式化SQL语句 -->
			<property name="hibernate.format_sql">true</property>
			<!-- 如果有表就更新,没有表就创建 -->
			<property name="hibernate.hbm2ddl.auto">update</property>
			<!-- 配置数据库方言 -->
			<!-- <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> -->
			<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
			<!-- 3、引入映射配置文件 -->
			<mapping resource="cn/melo/entity/User.hbm.xml"/>
		</session-factory>
	</hibernate-configuration>

5、测试:
代码Demo1:

package cn.melo.hibernate;

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

import cn.melo.entity.User;

public class Demo1 {
	//Hibernate实现添加操作
	public static void main(String[] args) {
		/*
		 * 1、加载配置文件
		 */
		Configuration cfg = new Configuration();
		cfg.configure();
		
		/*
		 * 2、创建SessionFactory对象
		 */
		SessionFactory sessionFactory = cfg.buildSessionFactory();
		
		/*
		 * 3、创建Session对象
		 */
		Session session = sessionFactory.openSession();
		
		/*
		 * 4、开启事务
		 */
		Transaction tx = session.beginTransaction();
		
		/*
		 * 5、操作数据库的逻辑
		 */
		User user = new User("安东尼", 18, "男");
		//添加
		session.save(user);
		
		/*
		 * 6、提交事务
		 */
		tx.commit();
		
		/*
		 * 7、释放资源
		 */
		session.close();
		sessionFactory.close();
	}

}

目录结构(我创建的是java项目,web项目也一样的套路了):
在这里插入图片描述
测试成功就OK了!前提是数据库要自己创建,表不用自己创建,打开数据库连接!!
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值