Hibernate_1_环境的配置

本文将指导您如何在Java项目中集成并使用Hibernate ORM框架,包括导入依赖库、配置数据库连接、创建实体类和映射文件、实现CRUD操作等关键步骤。

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

1. lib中导入jar包:

   slf4j-api-1.6.1.jar、mysql-connector-java-5.1.5-bin.jar、jta-1.1.jar、javassist-3.12.0.GA.jar、hibernate3.jar、dom4j-1.6.1.jar、antlr-2.7.6.jar 、

   hibernate-jpa-2.0-api-1.0.0.Final.jar、commons-collections-3.1.jar

  并将这些jar应用到Referenced Libraries中。

2. 在根目录下建立hibernate.cfg.xml文件并配置信息:

<!-- 配置数据库信息 -->
<property name="dialect">//配置方言
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">//配置url
jdbc:mysql://localhost:3306/hibernate
</property>
<property name="connection.driver_class">//配置JDBC驱动
com.mysql.jdbc.Driver
</property>
<property name="connection.username">root</property>//用户名
<property name="connection.password">mysqldbms</property>//密码

<!-- 显示生成的SQL语句 --> 
<property name="hibernate.show_sql">true</property>

<!-- 导入映射文件 -->
<mapping resource="it/cast/User.hbm.xml" />

3. java类的包下建立User.hbm.xml文件并配置:

<class name="JavaClassName" table="tableName">

	<!-- id元素用于映射主键 -->
	<id name="id" type="int" column="id">
	<!-- native:使用数据库的自动增长策略 -->
	<generator class="native" />
	</id>

	<property name="name" type="string" column="name" />
</class>

4. User类中建两个属性idname,并建立起getset方法:

public class User {

	private Integer id;
	private String name;
	// 属性为集合类型,生命并实例化,实例化后,在其它类中就可以直接调用了
	private Set<String> addressSet = new HashSet<String>();

	public Integer getId() {
		return id;
	}

	public Set<String> getAddressSet() {
		return addressSet;
	}

	public void setAddressSet(Set<String> addressSet) {
		this.addressSet = addressSet;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	// 重写toString函数
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", addressSet="
				+ addressSet + "]";
	}
}
5. 封装一个专门生成 session 的类:

/**
 * 用来生成session的封装类
 * @author A_shun
*/
public class HibernateUtils {
	// SessionFactory全局只需要一个
    private static SessionFactory sessionFactory;
    //session全局只需一个
	private static Session session = null;
	static {
		Configuration cfg = new Configuration();
		cfg.configure("hibernate.cfg.xml");// 读取指定地址的文件
       //建立sessionFactory工厂
		sessionFactory = cfg.buildSessionFactory();
		session = sessionFactory.openSession();//开启一个session
	}
	/**
	 * 获取全局唯一的session
	 */
	public static Session getSession() {
		return session;
	}
}

6. 新建持久化层类,其中代码如下:

@Test
// 保存属性的方法
	public void testSave() throws Exception {
		User user = new User();
		user.setName("zhangSan");
		// 打开一个新的Session
		Session session = sessionFactory.openSession();
		// 开始事务
		Transaction tx = (Transaction) session.beginTransaction();
		session.save(user);//保存对象
		tx.commit();// 提交事务
		session.close();// 释放Session占用的内存
	}

   @Test
	// 获取属性的方法
	public void testGet() {
		// 打开一个新的Session
		Session session = sessionFactory.openSession();
		// 开始事务
		Transaction tx = (Transaction) session.beginTransaction();
		//取得user对象的第一个属性
		User user = (User) session.get(User.class, 1);
		System.out.println(user);//输出user对象
		
		tx.commit();//提交事务
		session.close();//释放session占用的内存
	}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值