Hibernate配置access Hibernate 连接 access
个人测试结果,还是使用方法一比较妥当。方法3出现了一个奇怪错误~~
1、Hibernate对于Access的支持
方法一:
下载两个jar包,一个是Access的JDBC驱动包;另一个是数据库方言包,里面有支持Access方言的类。
下载地址:http://www.hxtt.com/access.zip,http://www.hxtt.com/test/hibernate.zip。
配置如下:(URL那里可以使用相对路径)
xml 代码
<property name="hibernate.dialect">
com.hxtt.support.hibernate.HxttAccessDialect
</property>
<property name="hibernate.connection.url">
jdbc:access:///f:/mdbfiles/aaa.mdb
</property>
<property name="hibernate.connection.driver_class">
com.hxtt.sql.access.AccessDriver
</property>
方法二:
首先先要在ODBC里配置好我们的Access数据库,控制面板--->管理工具--->ODBC,选择系统DSN选项卡,按添加按钮,选Driver do Mircosoft Access(*.mdb),完成,在DataSource Name中输入你想要的名字比如hibtest,后面将用它来查找数据库。然后指定数据库所在位置就OK了。
Hibernate描述文件可以是一个properties或xml 文件,其中最重要的是定义数据库的连接。我这里列出的是一个XML格式的hibernate.cfg.xml描述文件。
xml 代码
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory name="java:/hibernate/HibernateFactory">
<property name="show_sql">true</property>
<property name="connection.driver_class">
sun.jdbc.odbc.JdbcOdbcDriver<!-- 这里是Access的JDBCdriverclass名 -->
</property>
<property name="connection.url">
jdbc:odbc:hibtest <!-- 这里是你刚才指定的数据库名字 -->
</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="dialect">
net.sf.hibernate.dialect.MySQLDialect <!-- 这里是Access的Dialect -->
</property>
<mapping resource="Customer.hbm.xml"/> <!-- 指定Customer的映射文件 -->
</session-factory>
</hibernate-configuration>
方法三: 这个方法,见我前一篇随笔,等于用jdbc去连接
1、<!-- SQL方言,Access和SQLserver相近,所以这么写,严格意义会出错,但是尝试简单连接时可以的 -->
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
2、<!-- JDBC驱动程序 -->
<property name="connection.driver_class">
sun.jdbc.odbc.JdbcOdbcDriver
</property>
3、<!-- JDBC URL ,要用绝对路径-->
<property name="connection.url">
jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\STDateBase\student.mdb
</property>
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(
"jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=d:/jlf.mdb");
System.out.println("ok");
return conn;
}
下载地址:http://www.hxtt.com/access.zip http://www.hxtt.com/test/hibernate.zip。
把这2个包解压后 右击工程名-属性--库 把这2个JAR文件导到库文件中,在WEB-INF\lib下也考进去。
以下是HIBERNATE文件详细配置:
<property name="hibernate.dialect"> com.hxtt.support.hibernate.HxttAccessDialect </property>
<property name="connection.url">jdbc:access:///d:/jlf.mdb </property>
<property name="hibernate.connection.driver_class">com.hxtt.sql.access.AccessDriver</property>
<property name="myeclipse.connection.profile">jlf</property>
<property name="show_sql">true</property>
<!--c3po连接池配置-->
<property name="hibernate.connection.pool_size">10</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.min_size">8</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.time_out">2500</property>
<property name="hibernate.c3p0.max_statements">50</property>
<!--c3po连接池配置 End-->
在HIBERNATE插件中 DB Browser中菜单-新建DATABASE DRIVER
driver name :jlf
connection url: jdbc:access:///d:/jlf.mdb
就可以连接数据库 自动生成pojo 和dao操作了
1、在lib目录下导入2个jar包
Access_JDBC30.jar (Access数据库驱动)
hibernate.jar(hibernate支持包)
2、Hibernate添加数据源
Driver templat:
Driver name: access
Connection URL:jdbc:access:///G:/ACCESS/test1.mdb
Driver JARs :Access_JDBC30.jar
3、Hibernate数据源配置
<property name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>
- <?xml version='1.0' encoding='UTF-8'?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <!-- Generated by MyEclipse Hibernate Tools. -->
- <hibernate-configuration>
- <session-factory>
- <property name="connection.url">
- jdbc:access:///G:/ACCESS/test1.mdb
- </property>
- <property name="myeclipse.connection.profile">access</property>
- <property name="connection.driver_class">
- com.hxtt.sql.access.AccessDriver
- </property>
- <property name="show_sql">true</property>
- <property name="connection.username"></property>
- <property name="connection.password"></property>
- <property name="hibernate.dialect">
- com.hxtt.support.hibernate.HxttAccessDialect
- </property>
- <property name="dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>
- <mapping resource="com/jsw/hibernate/entity/TUser.hbm.xml" />
- </session-factory>
- </hibernate-configuration>