今天学了如何在程序中导入jar包,并连接数据库进行操作,为了夯实学习的内容,决定用自己的语言复盘一下整个过程。
先在程序中新建一个lib文件
在文件夹中找到jar包复制下来
粘贴到lib文件夹中
然后右键mysql-connector-java-8.0.28.jar->add as a library
就导入成功了
右键locallhost->新建数据库->这里我取名为qq
右键qq下的表->新建表(这里我取名为user)
自己设置字段,记得加上前缀规范
然后就可以双击uesr填充表格
下方的“+”为增加对象,“√”为确认对象。
有了表之后,我们就要将我们的Java程序与数据库连接。
先要写一个类,里面有个主函数,写下连接语句。
import java.sql.*;
public class Connect {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");
//这里输入的是数据库名字qq
Statement state=con.createStatement();
ResultSet rs=state.executeQuery("select * from user");
while (rs.next()){
System.out.println(rs.getString("idx_name"));
}
}
}
①第一步:注册驱动 ,先加载数据库的驱动程序,代码如下:
Class.forName("com.mysql.jdbc.Driver");
②第二步:获得连接,连接数据库。DriverManager是类用来管理数据库中的所有驱动程序,调用它的静态方法可以getConnection(String url,String user,String password)与数据库建立连接,连接成功会返回connection对象,后面的接口都会依赖于这个接口对象,代码如下:
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/qq", "root", "123456");
后面填入的是
Connection conn= DriverManager.getConnection(url, user, password);
String url="jdbc:mysql://localhost:3306/数据库名";
String user="数据库使用者";
String password="数据库密码"; //未设置密码时默认为123456
③第三步:获得数据库操作对象 。如果要操作数据库的话,需要发送sql语句,所以还需要一个向数据库发送sql语句的对象,这个对象时通过Connection 对象来获得的。
上图中有三个这样的对象
Statement对象用于执行不带参数的简单sql语句;
PreparedStatement继承了Statement,用来执行动态的sql语句;
CallableStatement继承了PreparedStatement,用于执行存储过程的。
这里我们用statement接口,代码如下:
Statement state=con.createStatement();
有了发送sql语句的对象,就可以写sql语句了
④第四步:返回结果集。statement对象用于执行不带参数的简单sql语句,所以用于查询语句,它会返回一个ResultSet对象,是一个结果集。这个时候我们就可以通过ResuleSet对象操作数据库内容。
ResultSet接口类似于一个临时表,用来暂时存放你从数据库要回来的数据
ResultSet对象是一个结果集,类似于一个二维的矩阵吧,它一次只可以看到结果集的一行数据,所以他会有一个指针,一开始指向第一行数据的前面一行(不是指向第一行数据),然后调用它的next()方法可以使指针往下移动一行
查询语句: ResultSet rs=state.executeQuery("select * from 表名");
例如我们得到了表返回于ResuleSet对象rs中后,可以用rs调用方法,输出我user表中,idx_name中的内容!