在Java基础部分,对于JDBC与数据库连接,是一定要掌握的。在实际的开发任务当中,只要涉及到数据传输、存储、调用等操作时,都免不了要用到JDBC连接数据库。今天的大数据学习分享,我们就以来简单讲讲,JDBC连接数据库操作示例。
JDBC是什么?
首先,对于JDBC,我们知道它是Java提供的专门用于操作数据库的API,JDBC支持连接不同的数据库进行操作,只要使用JDBC和数据库建立连接,就可以使用JDBC提供的API操作数据库
在实际开发任务当中,会经常使用JDBC进行如下的操作:
与一个数据库建立连接;
向已连接的数据库发送SQL语句;
处理SQL语句返回的结果。
JDBC连接数据库
这里以MySQL数据库为例,目前在开发中常用的连接数据库的方式是加载JDBC-数据库驱动(连接器),即JDBC调用本地的JDBC-数据库驱动和相应的数据库建立连接。
Java运行环境将JDBC-数据库驱动转换为DBMS(数据库管理系统)所使用的专用协议来实现和特定的DBMS交互信息。
使用JDBC-数据库驱动方式和数据库建立连接需要经过两个步骤:
首先,加载JDBC-数据库驱动。然后,和指定的数据库建立连接。
①下载JDBC-MySQL数据库驱动
应用程序为了能访问MySQL数据库服务器上的数据库,必须保证应用程序所驻留的计算机上安装有相应的JDBC-MySQL数据库驱动。
可以登录MySQL的官方网站www.mysql.com,下载JDBC-MySQL数据库驱动(JDBC Driver for MySQL)。登录www.mysql.com后,在页面的导航条上选择Products,然后在页面的右侧区中的MySQL Features下选择MySQL Connectors(MySQL连接器),进入数据库驱动下载页面,也可以直接在浏览器的地址栏中直接输入“http://www.mysql.com/products/connector/”,进入数据库驱动下载页面。在数据库驱动下载页面上选择JDBC Driver for MySQL(Connector/J),然后单击Download按钮即可。
以mysql-connector-java-5.1.40.zip为例,将该zip文件解压至硬盘,解压后的目录下的mysql-connector-java5.1.40-bin.jar文件就是连接MySQL数据库的JDBC-数据库驱动。将该驱动复制到JDK的扩展目录中(即JAVA HOME环境变量指定的JDK)。
注:安装JDK时,还额外有一个JRE,最好将mysql-connector-java-5.1.28-bin.jar文件也复制到C:AProgram Files(x86)Javajre1.8.0_45libext中。保证即使启用该环境运行程序,也会有需要的驱动。
②加载JDBC-MySQL数据库驱动
应用程序负责加载的JDBC-MySQL数据库驱动的代码如下:
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(Exception e){}
MySQL数据库驱动被封装在Driver类中,该类的包名是com.mysql.jdbc,该类不是Java运行环境类库中的类,所以需要放置在jre的扩展中。
③连接数据库
java.sql包中的DriverManager类有两个用于建立连接的类方法(static方法):
Connection getConnection(java.lang.String,java.lang.String,java.lang.String)
Connection getConnection(java.lang.String)
这两个方法都可能抛出SQLException异常,DriverManager类调用上述方法可以和数据库建立连接,即可以返回一个Connection对象。
为了能和MySQL数据库服务器管理的数据库建立连接,必须保证该MySQL数据库服务器已经启动,如果没有更改过MySQL数据库服务器的配置,那么该数据库服务器占用的端口是3306。假设MySQL数据库服务器所驻留的计算机的IP地址是192.168.31.30(命令行运行ipconfig可以得到当前计算机的IP地址)。
应用程序要和MySQL数据库服务器管理的数据库students(在上节建立的数据库)建立连接,而有权访问数据库students的用户的id和密码分别是root和空,那么使用Connection getConnection(java.lang.String)方法建立连接的代码如下:
Connection con;
String uri="jdbc:mysql://192.168.31.30:3306/students?user=root&password=&useSSL=true";
try{
con=DriverManager.getConnection(uri);//连接代码
}
catch(SQLException e){
System.out.println(e);
}
如果root用户密码是99,将&password=更改为&password=99即可。
MySQL5.7版本建议应用程序和数据库服务器建立连接时明确设置SSL(Secure Sockets Layer),即在连接字序列信息中明确使用useSSL参数,并设置值是true或false;如果不设置useSSL参数,程序运行时总会提示用户程序进行明确设置(但不影响程序的运行)。对于早期的MySQL版本,用户程序不必设置该项。
使用Connection getConnection(java.lang.String,java.lang.String,java.lang.String)方法建立连接的代码如下:
Connection con;
String uri="jdbc:mysql://192.168.31.30:3306/students?useSSL=true";
String user="root";
String password="";
try{
con=DriverManager.getConnection(uri,user,password);//连接代码
}
catch(SQLException e){
System.out.println(e);
}
④注意汉字问题
需要特别注意的是,如果数据库的表中的记录有汉字,那么在建立连接时需要额外多传递一个参数characterEncoding,并取值gb2312或utf-8:
String uri="jdbc:mysql://localhost/students?useSSL=true&characterEncoding=utf-8";
con=DriverManager.getConnection(uri,"root","");//连接代码
关于大数据学习,JDBC连接数据库操作示例,以上就为大家做了简单的介绍了。对于JDBC连接数据库,本身来说并不算特别难,自己多练习几次,也就能够比较好的解决了。成都加米谷大数据,专业
大数据培训机构,大数据开发,数据分析与挖掘,零基础班本月正在招生中,课程大纲及试学视频可联系客服领取!