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>
<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>