二.在默认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.释放资源
Hibernate与各种数据库连接的配置
1. Oracle连接配置
Oracler数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbname</property>
<!--数据库用户名-->
<property name="connection.username">test</property>
<!--数据库密码-->
<property name="connection.password">test</property>
上例使用的驱动类为:oracle.jdbc.driver.OracleDriver,开发人员需要将相关的jar包(ojdbc14.jar)加入到classpath中。
2. MySql连接配置
MySql数据库的hibernate连接设置,在hibernate.cfg.xml文件中
<hibernate-configuration>
<session-factory>
<!--各属性的配置-->
<!—为true表示将Hibernate发送给数据库的sql显示出来 -->
<property name="show_sql">true</property>
<!-- SQL方言,这边设定的是MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!--一次读的数据库记录数 -->
<property name="jdbc.fetch_size">50</property>
<!--设定对数据库进行批量删除 -->
<property name="jdbc.batch_size">30</property>
<!--驱动程序-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:mysql://localhost/dbname?
characterEncoding=gb2312</property>
<!--数据库用户名-->
<property name="connection.username">root</property>
<!--数据库密码-->
<property name="connection.password">root</property>
<!—映射文件 -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
上面使用的驱动类是com.mysql.jdbc.Driver.需要将MySql的连接器jar包(eg. mysql-connector-java-Dbname为数据库名字5.0.4-bin.jar)加入到classpath中。
3. Sql Server连接配置
Sql Server数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:jtds:sqlserver://localhost:1433DatabaseName=dbname</property>
<!--数据库用户名-->
<property name="connection.username">sa</property>
<!--数据库密码-->
<property name="connection.password"></property>
上例的驱动类使用的是jtds的驱动类,因此读者需要将jtds的jar包(eg. jtds-1.2.jar)加入到classpath中
4. DB2连接配置
DB2数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">com.ibm.db2.jdbc.app.DB2Driver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:db2://localhost:5000/sample </property> //sample为数据库名
<!--数据库用户名-->
<property name="connection.username">admin</property>
<!--数据库密码-->
<property name="connection.password"></property>
上例使用的驱动类为:com.ibm.db2.jdbc.app.DB2Driver,开发人员需要将相关的jar包(db2jcc.jar)加入到classpath中。
5.sybase连接配置
sybase数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">com.sybase.jdbc.SybDrive</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:sybase:Tds:localhost:5007/myDB</property>//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">userid</property>
<!--数据库密码-->
<property name="connection.password">user_password</property>
上例使用的驱动类为:com.sybase.jdbc.SybDrive,开发人员需要将相关的jar包(jconn3.jar)加入到classpath中。
6. informix连接配置
informix数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">com.informix.jdbc.IfxDrive</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver </property>//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">testuser</property>
<!--数据库密码-->
<property name="connection.password">testpassword</property>
上例使用的驱动类为:com.informix.jdbc.IfxDrive,开发人员需要将相关的jar包(ifxjdbc.jar)加入到classpath中。
7.PostgreSQL连接配置
PostpreSQL数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">org.postgresql.Driver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:postgresql://localhost/myDB</property>//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">myuser</property>
<!--数据库密码-->
<property name="connection.password">mypassword</property>
上例使用的驱动类为:com.informix.jdbc.IfxDrive,开发人员需要将相关的jar包(postgresql-8.1-405.jdbc3)加入到classpath中。
8.access连接配置
access数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">sun.jdbc.odbc.JdbcOdbcDriver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:odbc:Driver={MicroSoft..Access..Driver(*.mdb)}DBQ="+application.getRealPath("/Data/ReportDemo.mdb")</property>//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">myuser</property>
<!--数据库密码-->
<property name="connection.password">mypassword</property>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)