1.1. 各種數據庫對應的jar包
具體如下:
數據庫類型 |
對應的Jar文件 |
Oracle 8i |
classes12.zip 或 ojdbc14.jar |
Sybase |
jconn2.jar 或 jconn3.jar |
Mysql |
mysql-connector-java-3.1.1-alpha-bin.jar 或 mysql-connector-java-5.0.2-beta-bin.jar |
SQLServer 2000 |
msbase.jar、msutil.jar、mssqlserver.jar |
SQLServer 2005 |
sqljdbc.jar |
SQLServer 7.0 |
jtds-1.2.2.jar |
Informix |
ifxjdbc.jar |
DB2 |
db2jcc.jar、db2jcc_license_cu.jar |
1.2. 各種數據庫對應的驅動類名和URL格式
下面是對各種數據庫的驅動類名和URL格式的匯總。如表3所示。其中hostip代表ip地址,dbname代表數據庫名。
數據庫 |
驅動類名 |
URL格式 |
Oracle |
oracle.jdbc.driver.OracleDriver |
jdbc:oracle:thin:@hostip:1521:dbname |
Sybase |
com.sybase.jdbc2.jdbc.SybDriver |
jdbc:sybase:Tds:hostip:4100/dbname |
Mysql |
com.mysql.jdbc.Driver |
jdbc:mysql://hostip:3306/dbname?useUnicode=true&characterEncoding=GBK |
SQLServer 2000 |
com.microsoft.jdbc.sqlserver.SQLServerDriver |
jdbc:microsoft:sqlserver://hostip:1433;DatabaseName=dbname |
SQLServer 2005 |
com.microsoft.sqlserver.jdbc.SQLServerDriver |
jdbc:sqlserver://hostip:1433;DatabaseName=dbname |
SQLServer 7.0 |
net.sourceforge.jtds.jdbc.Driver |
jdbc:jtds:sqlserver://hostip:1433/dbname |
DB2 |
com.ibm.db2.jcc.DB2Driver |
jdbc:db2://hostip:50000/dbname |
Informix |
com.informix.jdbc.IfxDriver |
jdbc:informix-sqli://hostip:port/dbname:informixserver=<dbservername> |
RDBMS | 方言 |
---|---|
DB2 | org.hibernate.dialect.DB2Dialect |
DB2 AS/400 | org.hibernate.dialect.DB2400Dialect |
DB2 OS390 | org.hibernate.dialect.DB2390Dialect |
PostgreSQL | org.hibernate.dialect.PostgreSQLDialect |
MySQL | org.hibernate.dialect.MySQLDialect |
MySQL with InnoDB | org.hibernate.dialect.MySQLInnoDBDialect |
MySQL with MyISAM | org.hibernate.dialect.MySQLMyISAMDialect |
Oracle (any version) | org.hibernate.dialect.OracleDialect |
Oracle 9i/10g | org.hibernate.dialect.Oracle9Dialect |
Sybase | org.hibernate.dialect.SybaseDialect |
Sybase Anywhere | org.hibernate.dialect.SybaseAnywhereDialect |
Microsoft SQL Server | org.hibernate.dialect.SQLServerDialect |
SAP DB | org.hibernate.dialect.SAPDBDialect |
Informix | org.hibernate.dialect.InformixDialect |
HypersonicSQL | org.hibernate.dialect.HSQLDialect |
Ingres | org.hibernate.dialect.IngresDialect |
Progress | org.hibernate.dialect.ProgressDialect |
Mckoi SQL | org.hibernate.dialect.MckoiDialect |
Interbase | org.hibernate.dialect.InterbaseDialect |
Pointbase | org.hibernate.dialect.PointbaseDialect |
FrontBase | org.hibernate.dialect.FrontbaseDialect |
Firebird | org.hibernate.dialect.FirebirdDialect |
Hibernate與各種數據庫連接的配置
1. 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中。
2. 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:1433;DatabaseName=dbname</property>
<!--數據庫用戶名-->
<property name="connection.username">sa</property>
<!--數據庫密碼-->
<property name="connection.password"></property>
上例的驅動類使用的是jtds的驅動類,因此讀者需要將jtds的jar包(eg. jtds-1.2.jar)加入到classpath中
3. 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中。
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>
access數據庫的驅動為:sun.jdbc.odbc.JdbcOdbcDriver或者是com.hxtt.sql.access.AccessDriver
jar包:Access_JDBC30.jar 地址:http://www.hxtt.com/access.zip
access的方言包(hibernate.jar) 地址:http://www.hxtt.com/test/hibernate.zip