关于Java数据库连接一定都知道JDBC,JDBC标准定义了Java程序连接数据库服务器的应用程序接口(JDBC原来是Java数据库连接Java Database Connectivity的缩写)。下面是一个使用JDBC接口获取连接的Java程序例子。
public java.sql.Connection getConnection() {
// TODO: implement
System.out.println("Create Oracle Connection");
java.sql.Connection con = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("开始连接数据库!");
String url = "jdbc:oracle:" + "thin:@121.121.121.121:1521:ora11g";
String user = "tony";
String password = "123456";
con = DriverManager.getConnection(url, user, password);
System.out.println("连接数据库成功!");
return con;
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
要在Java中访问数据库,必须要打开一个数据库连接,这个时候我们选择的数据库可以是运行在你本机上的Mysql, Oracle数据库服务器,或者是运行在远程服务器上的Oracle服务器,只有当获取到数据库连接之后,Java程序才能执行SQL语句。获取数据库连接一般需要两步,第一就是加载驱动,第二就是通过驱动管理来获取连接。
Class.forName函数完成完成驱动程序的加载,在调用时通过参数来指定一个实现了java.sql.Driver接口的实体类。这个接口的功能是为了实现不同层面的操作之间的转换,一边是于数据库产品类型无关的JDBC操作,另一边是于产品相关的。程序代码中使用了Oracle驱动程序,oracle.jdbc.driver.OracleDriver。该驱动程序包含在一个.jar文件里,可以从maven库中或者提供商网站进行下载,然后放在Java的类路径中,用于Java编译器访问。
通过调用DriverManager类的getConnection方法来打开一个数据库连接,该方法有三个参数
- getConnection方法第一个参数是以字符串类型表示的URL,这个URL = 与数据库通信使用的协议 + 服务器所在的主机名称 + 数据库用来通信的端口号 + 服务器使用的特定数据库。一个JDBC可能支持多种协议,我们必须制定一个数据库和驱动器都支持的协议。协议的详细信息一般是由提供商设定的。
- getConnection方法的第二个参数用于指定一个数据库用户标识。
- 第三个参数是密码(直接写在JDBC代码里边有安全隐患,别人可能未经授权就查看你的代码)