JDBC连接数据库
一、各类数据库连接的驱动包及其驱动程序
1. MySQL(http://www.mysql.com)mysql-connector-java-2.0.14-bin.jar
Class.forName( "org.gjt.mm.mysql.Driver" );
cn=DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );
2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar
Class.forName( "org.postgresql.Driver" );
cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );
3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip
Class.forName( "oracle.jdbc.driver.OracleDriver" );
cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );
4. Sybase(http://jtds.sourceforge.net)jconn2.jar
Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );
cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );
//(Default-Username/Password: "dba"/"sql")
5. Microsoft SQLServer(http://jtds.sourceforge.net)
Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );
6. Microsoft SQLServer(http://www.microsoft.com)
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );
7. ODBC
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );
8.DB2
Class.forName("com.ibm.db2.jdbc.net.DB2Driver");
String url="jdbc:db2://192.9.200.108:6789/SAMPLE"
cn = DriverManager.getConnection( url, sUsr, sPwd );
二. 连接数据库可能发生的问题
ClassNotFoundException
首先要现在数据库对应的JDBC驱动包,然后将JDBC驱动包的路径设置在classpath中。只要配置好了就可以解除异常。另一种情况是编译的时候能通过,但是通过客户端访问后台处理时服务器产生此异常,此时需要把驱动包放在服务器如(tomcat)的/common/lib目录下。
.对数据库操作通过执行SQL语句来实现。如果是执行查询之类的操作,用executeQuery(sql)执行并用ResultSet的实例变量接受操作的结果,用ResultSet的next()方法判断是否有符合条件的结果,并一一取出;如果执行的是插入、更新以及删除之类的操作,则用executeUpdate(sql)执行。
三、java操作mysql步骤
包导入 :
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
将要用到的数据库相关变量申明:
数据库驱动(DBDRIVER): org.gjt.mm.mysql.Driver
数据库路径(DBURL): jdbc:mysql://localhost:3306/DataBase
数据库用户名(DBUSER): 默认为root
数据库连接口令(DBPASSWORD):DataBase_Password
加载数据库驱动:
try{
Class.forName(DBDRIVER);
}
Catch(ClassNotFoundException e)
{
//捕捉到异常要执行的语句
}
连接数据库
DriverManage.getConnection(DBURL.DBUSER,DBPASSWORD);
生成用于执行静态数据库语句的对象
Statement stmt = conn.createStatement();
操作数据库,执行sql语句
(1) 如果执行查询之类的有返回的语句
用ResultSet对象进行结果的接收:ResultSet result = stmt.executeQuery(sql);
(2) 执行的事更新操作
则直接用stmt.executeQuery(sql);语句即可完整更新数据库
最后是依次:Result对象关闭rs.close();
执行sql对象关闭:stmt.close();
关闭与数据库的连接:conn.close();