(1)Hibernate安装及配置

Hibernate的安装:

1.打开 http://tools.jboss.org/downloads/jbosstools/photon/4.6.0.Final.html#update_site,找到如下链接,

然后在JBoss Application Development中选上Hibernate Tools以及在J2EE中选上Hibernate

下载hibernate-release-5.3.6.Final

1.打开 http://docs.jboss.org/hibernate/orm/5.0/quickstart/html/#_release_bundle_downloads,然后再打开如下链接

配置Hibernate:

1.导入hibernate-release-5.3.6.Final\lib\required 里面的jar包

2.把hibernate-release-5.3.6.Final\project\etc\hibernate.cfg.xml导入,并且根据hibernate.properties进行配置(ctrl+f 搜MYSQL)

3.创建实体类

4.在实体类的包中创建hbm文件(可以自动生成)

5.把该hbm文件添加到hibernate.cfg.xml(<mapping resource="model/User.hbm.xml"/>

注意:(1).如果mysql是5.5等, 需要改成<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

(2).hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构。如果不是此方面的需求建议set value="none"。
create:
每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
create-drop :
每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
update:
最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。
validate :
每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

(3).注意在hibernate.cfg.xml配置mapping

Hibernate的使用:

通过创建SessionFactory创建session:

Configuration cfg=new Configuration().configure();
		SessionFactory f=cfg.buildSessionFactory();
		Session session=f.openSession();

处理事务:

        session.beginTransaction();//开始事务
		User u=new User();
		u.setUsername("张三");
		u.setPassword("123");
		u.setNickname("ZS");
		u.setBorn(new Date());
		session.save(u);//插入
		session.getTransaction().commit();//提交事务

整体截图:

hibernate.cfg.xml的配置如下:

<!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>
	<property name="hibernate.hbm2ddl.auto">update</property>
	<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<!-- 	<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> -->
	<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
	<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_01</property>
	<property name="hibernate.connection.username">root</property>
	<property name="hibernate.connection.password">HZP123</property>
		<property name="show_sql">true</property>
		<mapping resource="model/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

注意:(1).记得把<session-factory name="foo">去掉名字,变为<session-factory>

(2).如果提示class-cache有问题,就把<class-cache/>删掉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值