在建立到一个数据库的连接之前,必须先加载这个数据库的JDBC驱动程序,加载之后此driver会自动注册到JDBC驱动列表中。加载一个JDBC驱动有两种方法。
a) 在命令行方式下指定驱动器或者用冒号分割驱动器列表:
具体命令如下:
C:\>java –Djdbc.drivers = com.company1.Driver:com.company2.Driver youProject
b)第二种方法,在程序中调用Class.forName()方法。推荐使用。。。。
try
{
String driverName = “com.imaginary.sql.msql.MsqlDriver”
Class.forName(driverName).newInstance()
}
Catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
2.连接到数据库。
根据您后台待连接的数据库不同,而有小小的差别。
a) 连接到Oracle数据库。
Connection connection = null
try
{
//load the jdbc driver
String driverName = “oracle.jdbc.driver.OracleDriver”
Class.forName(driverName).newInstance()
//create a connection to the database
String serverName = “127.0.0.1”
String serverPort = “1521”
String serverID = “datebase1”
String userName = “hello”
String userPsw = “world”
String url = “jdbc:oracle.thin:@” + serverName + “:” + serverPort + “:” + serverID
Connection = DriverManager.getConnection(url , userName , userPsw)
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
b) 连接到一个SQL Server数据库。
Connection connection = null
try
{
//load the jdbc driver
String driverName = “com.microsoft.jdbc.sqlserver.SQLServerDriver”
Class.forName(driverName).newInstance()
//create a connection to the database
String serverName = “127.0.0.1”
String serverPort = “1433”
String serverID = serverName + serverPort
String userName = “hello”
String userPsw = “world”
String url = “jdbc:JSQLConnect ://” + serverID
Connection = DriverManager.getConnection(url , userName , userPsw)
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
c) 连接到一个MySQL数据库上。。。。
Connection connection = null
try
{
//load the jdbc driver
String driverName = “org.gjt.mm.mysql.Driver”
Class.forName(driverName).newInstance()
//create a connection to the database
String serverName = “127.0.0.1”
String serverID = “database”
String userName = “hello”
String userPsw = “world”
String url = “jdbc:mysql ://” + serverName + “/” + serverID
Connection = DriverManager.getConnection(url , userName , userPsw)
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
综合上面的三种数据库连接方式 , 其实大同小异。由于访问不同的数据库和所使用的数据库驱动程序不同,所以导致代码表面上有小小不同,但透过表面看来,内部都是
1. 加载一个特定的数据库JDBC驱动。
2. 连接到一个数据库。
3. 之后,就可以对一个特定的数据库进行特定的 *** 作了。
附上各种数据库的JDBC驱动起可用信息网址:
http://java.sun.com/products/jdbc
对于Oracle数据库,请参考:
http://otn.oracle.com.software/content.html
对于MySQL数据库,请参考:
http://mmMySQL.sourceforge.net
对于SQL Server数据库,有很多的驱动可选,比较常用的:
http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp
http://www.freetds.org
http://www.datadirect-technologies.com
package mysqlimport java.sql.*
/**
* @author xys
*/
public class ConnectMysql {
public static Connection getConnection() throws ClassNotFoundException, SQLException {
String url = "jdbc:mysql://localhost:3306/databaseName"
String user = "mysqluser"
String password = "password"
String driverClass = "com.mysql.cj.jdbc.Driver"
Connection connection = null
Class.forName(driverClass)
try {
connection = DriverManager.getConnection(url, user, password)
} catch (SQLException e) {
e.printStackTrace()
}
if (connection != null) {
System.out.println("数据库连接成功")
} else {
System.out.println("数据库连接失败")
connection.close()
}
return connection
}
public void getResult() throws ClassNotFoundException, SQLException {
// 实例化 Statement 对象
Statement statement = getConnection().createStatement()
// 要执行的 Mysql 数据库 *** 作语句(增、删、改、查)
String sql = ""
// 展开结果集数据库
ResultSet resultSet = statement.executeQuery(sql)
while (resultSet.next()) {
// 通过字段检索
int id = resultSet.getInt("id")
String name = resultSet.getString("name")
// 输出数据
System.out.println("ID : " +id)
System.out.println("name :" + name)
}
// 完成后需要依次关闭
resultSet.close()
statement.close()
getConnection().close()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)