基本上就是这些步骤:
- 下载你要连接的数据库的JDBC驱动程序(driver)。通常都是一个jar文件,复制到你的project里面,确保识别这个库就可以了。
- 加载驱动, 不同的数据库需要不同 JDBC driver。
- 连接数据库,不同的数据库同样需要不同的JDBC URL。
下面给出连接不同数据库的例子
连接 mini SQL
连接Interbase
对于其他数据库,参考如下列表
数据库 |
JDBC URL (JDBC Connection String) JDBC Driver |
---|---|
MySQL | jdbc:mysql://HOST:PORT/DATABASE com.mysql.jdbc.Driver |
Postgresql | jdbc:postgresql://HOST:PORT/DATABASE org.postgresql.Driver |
SQL Server | jdbc:microsoft:sqlserver://HOST:1433;DatabaseName=DATABASE com.microsoft.jdbc.sqlserver.SQLServerDriver |
DB2 | jdbc:as400://HOST:PORT/DATABASE; com.ibm.as400.access.AS400JDBCDriver |
sqlite |
jdbc:sqlite:DATABASE org.sqlite.JDBC |
Derby |
jdbc:derby:DATABASE org.apache.derby.jdbc.EmbeddedDriver |
Oracle |
有三种类型的驱动,后面单独列出 |
其中sqlite是嵌入式数据库,所以连接相对简单。下面是一些例子:
MySQL
Postgresql
sqlite
Oracle
- JDBC Thin Driver (no local SQL*Net installation required/ handy for applets)
- JDBC OCI for writing stand-alone Java applications
- JDBC KPRB driver (default connection) for Java Stored Procedures and Database JSP's.
Thin Driver
我只用过第一个,个人觉得觉得简单的数据库操作基本上够用了,后面的两种没有用过。
OCI Driver
KPRB Driver
对于C/S架构的数据库,可以将连接的配置写到Java properties文件里面,以方便以后的使用。
不同的JDBC驱动,按照它们的实现方法,也分为四个不同的类别:
- JDBC-ODBC bridge plus ODBC driver: The Java Software bridge product provides JDBC access via ODBC drivers.
- Native-API partly-Java driver: This kind of driver converts JDBC calls into calls on the client API for Oracle, Sybase, Informix, IBM DB2, or other DBMSs.
- JDBC-Net pure Java driver: This driver translates JDBC calls into a DBMS-independent net protocol, which is then translated to a DBMS protocol by a server.
- Native-protocol pure Java driver: This kind of driver converts JDBC calls directly into the network protocol used by DBMSs.
- Direct -a connection that a JDBC client makes directly to the DBMS server, which may be remote
- Indirect--a connection that a JDBC client makes to a middleware process that acts as a bridge to the DBMS server
最后说一下异常和警告处理:
捕获异常并打印
SQLWarning
对象是
SQLException
子类,它不会中断程序的执行,但是却能够提供很多有价值的信息,尤其是debug的时候。Connection
对象,Statement
对象 (包括PreparedStatement
和CallableStatement
对象),或者ResultSet
对象都有一个
getWarnings
方法。下面是一个列子:
参考:
[1]http://www.devdaily.com/java/edu/pj/pj010024/
[2]http://www.devdaily.com/java/jdbc-connection-string-mysql-postgresql-sqlserver
[3]http://www.orafaq.com/wiki/JDBC
[4]http://java.sun.com/j2se/1.4.2/docs/guide/jdbc/getstart/intro.html#1006158
[5]http://java.sun.com/docs/books/tutorial/jdbc/basics/index.html