搭建项目环境及添加 jar 包
首先在Idea上创建一个普通的Java项目:File -> New -> Project,
选择JavaJDK版本,然后一直点击next就可以,给项目取一个名字,点击finish即可
项目创建好之后项目的目录是没有lib文件夹的,所以需要我们自己建立一个lib文件夹,此文件夹是用来存放数据库连接的jar包数据库连接jar包下载,选择连接器/J,独立于平台,ZIP存档,等待下载即可.
数据库连接jar包下载好之后直接复制到文件夹下就可以
然后右键点击 lib 文件夹,选择 Add as library,弹窗点击 ok 就行,至此,一个空的Java项目以及数据库连接 jar包已经加好了,接下来就可以直接开始写代码来实现 JDBC 连接了。
代码实现
代码实现全都是在src目录下的Main文件夹下编写,自己可以在Main文件夹下再建立一个文件夹来专门存放jabc的文件,也可以直接在Main文件夹下直接建立Java文件来实现,
首先需要知道自己电脑上数据库的用户名,密码,连接数据库时需要用到.
为了增加代码的复用性,在代码开始前,先创建四个字符串来存放数据库驱动包名,数据库连接地址,用户名,密码,第二个参数最后的student1是数据库中数据库的名字,根据自己的来
// 驱动包名 数据库连接地址 数据库用户名 数据库连接密码
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/student1";
private static final String USER_NAME = "root";
private static final String PASSWORD = "686123";
然后在main方法里面实现:以查询数据为例
加载数据库驱动
// 1.加载驱动
Class.forName(DRIVER);
获取数据库连接
// 2.获取数据据库连接
Connection connection = DriverManager.getConnection(URL,USER_NAME,PASSWORD);
编写sql语句,预编译语句
// 3.编写sql语句
String sql = "select name,course,grade from score";
PreparedStatement ps = connection.prepareStatement(sql);
执行sql语句,获得结果集
// 4.得到结果集
ResultSet rs = ps.executeQuery();
打印数据
while(rs.next()) {
System.out.println("name:" + rs.getString("name") + ",course:" + rs.getString("course") + ",score:" + rs.getString("grade"));
}
为了节约项目内存,之前创建的对象要关闭,先创建的对象最后关闭
rs.close();
ps.close();
connection.close();
完整代码如下:
public class Jdbc_searchDemo {
// 驱动包名 数据库连接地址 数据库用户名 数据库连接密码
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/student1";
private static final String USER_NAME = "root";
private static final String PASSWORD = "686123";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1.加载驱动
Class.forName(DRIVER);
// 2.获取数据库连接
Connection connection = DriverManager.getConnection(URL,USER_NAME,PASSWORD);
// 3.编写sql语句
String sql = "select name,course,grade from score";
PreparedStatement ps = connection.prepareStatement(sql);
// 4.得到结果集
ResultSet rs = ps.executeQuery();
while(rs.next()) {
System.out.println("name:" + rs.getString("name") + ",course:" + rs.getString("course") + ",score:" + rs.getString("grade"));
}
rs.close();
ps.close();
connection.close();
}
}
该例子只适用于学习,了解使用,实际项目中使用时,会有很多变化,但实现的步骤是不变的,万变不离其宗。