Hibernate如何动态链接数据库

Hibernate如何动态链接数据库,第1张

一.导包 mysql

二.在默认src下创建hibernate.cfg.xml

1.创建xml文件,命名为hibernate.cfg.xml

2.添加约束

(在org.hibernate/hibernate-configuration-3.0.dtd中)

1 <!DOCTYPE hibernate-configuration PUBLIC2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"3 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration><session-factory> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.url">jdbc:mysql://localhost:3306/houserentsys</property> <!-- houserentsys是数据库名称 -->

<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.username">root</property> <property name="connection.password">123456</property>

<property name="show_sql">true</property> <property name="format_sql">false</property> <!-- 设置为false就会不换行 --> <property name="hbm2ddl.auto">update</property> <!-- 进行 *** 作时不会删除重建-->

<!--hbm2ddl.auto属性

create:表示启动的时候先drop,再create

c

reate-drop: 也表示创建,只不过再系统关闭前执行一下drop

update: 这个 *** 作启动的时候会去检查schema是否一致,如果不一致会做scheme更新

validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新

-->

<mapping resource="edu/tsinghua/entity/mapping/district.xml"/> <mapping resource="edu/tsinghua/entity/mapping/street.xml"/>

</session-factory></hibernate-configuration>

hbm2ddl.auto属性:

create:表示启动的时候先drop,再create

create-drop: 也表示创建,只不过再系统关闭前执行一下drop

update: 这个 *** 作启动的时候会去检查schema是否一致,如果不一致会做scheme更新

validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新

三.实体 实现序列化接口 封装属性和构造方法实体.xml 位置随意

(在org.hibernate/hibernate-mapping-3.0.dtd中)

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

在hibernate.cfg.xml 添加 映射文件的引用

<mapping resource="edu.tsinghua.entity.mapping.district"/>

七个步骤(在新建的执行文件Test.java中)

//1.加载配置文件

Configuration cfg=new Configuration().configure()

//2.获得sessionfactory

ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry()

SessionFactory sf=cfg.buildSessionFactory(serviceRegistry)

//3.创建session

Session session=sf.openSession()

//4.创建事务

Transaction tx=session.beginTransaction()

//5. *** 作

District dis=new District(100,"海淀区")

session.save(dis)

//6.提交 回滚

tx.commit()//tx.rollback()

//7.释放资源

极度小儿科的问题。告诉你最简单的办法:

1、设置ADOConnection1的ConnectionString属性,“选择或输入数据库名称”,选中数据库后,把编辑框里的数据库路径去掉就行了,例如“d:\data.mdb”改成“data.mdb”。最后点确定。

2、别告诉我你电脑上没有那个数据库,不然你怎么测试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9967263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存