JDBC全称Java Database Connectivity
JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。
要使用JDBC
来访问MySQL
数据库,首先需要添加MySQL
数据库驱动程序,
百度网盘下载:
链接:https://pan.baidu.com/s/1zcJp4EiHGonjakFM_YbjIw
提取码:lfjh
解压后有一个文件 mysql-connector-java-8.0.18
之后打开eclipse右键对应的项目,选择最后一个Properties
之后选择Java Build Path
,上方的第三个Libraries
,选择第二个Add External JARs
然后把选择mysql-connector-java-8.0.18
文件即可成功添加数据库驱动程序
添加成功后在相应的项目下方会出现驱动程序包
可以用以下程序来检测数据库连接是否创建成功。
其中com.mysql.cj.jdbc.Driver
是为了加载驱动程序
而jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8
中
localhost
是本地连接
第一个mysql
是我使用的数据库是MySQL
3306
是端口号
第二个mysql
是我建立的一个表的名字,如果你建的表是student
或者其他的可以改为相应的表名。
con=DriverManager.getConnection(URL, "root", "111111");
这一句中root
是我的管理员账号名,111111
是账号密码,可以做相应的修改
package src;
import java.sql.*;
public class JDBC {
public static void main(String []args) {
String driver = "com.mysql.cj.jdbc.Driver";
String URL = "jdbc:mysql://localhost:3306/mysql?serverTimezone=UTC&characterEncoding=utf-8";
Connection conn = null;
try {
Class.forName(driver);
}catch(java.lang.ClassNotFoundException e) {
System.out.println("Can't load Dirver");
}
try {
conn=DriverManager.getConnection(URL, "root", "111111");
/*String sql="Select * from admin where id=? and password=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "123456");
ps.setString(2, "123456");
ResultSet rs = ps.executeQuery();
if(rs.next())
System.out.println("Success");
else System.out.println("false");*/
System.out.println("Success!!");
}
catch(Exception e) {
System.out.println("false!!");
}
}
}
运行该程序后,如果运行结果是Can't load Dirver
问题出在驱动程序上,请检查驱动程序是否添加成功;
如果运行结果是false!!
,那么应该是数据库的账号或者密码不正确;
出现Success
代表成功连接上了数据库。
在代码的中间我注释掉的代码还可以查询数据库中的数据:
Select * from admin where id=? and password=?
中
admin
是表名,id
和password
是表的成员
下面的两句
ps.setString(1, "123456");
ps.setString(2, "123456");
是问号替换成相应的字符串,也就是相当于在数据库中执行
Select * from admin where id=123456 and password=123456
有兴趣的可以试试查询数据。
在JDBC
技术中所提供的PreparedStatement
接口对象,用于执行预编译的SQL
语句可以提高应用程序和数据库的总体效率,可以创建一些增、删、改、查功能的存储过程,这里就不再多说。