认识JDBC
Mysql,关系型数据库,简单来说,可以存放表。
Java,写程序。
现在写了个登陆功能,要验证用户名和密码,不是通过把key-value放在Collection里然后用户登录来查询密码对不对的,而是建立用户表,通过表单的用户名执行sql查询语句去找表里的密码。
那么,Java如何和Mysql(或者其他数据库)产生联系呢?
首先,要去数据库官网下载一个mysql-connector-java-版本号.zip的文件,里面有一个jar。
那么接下来开始体验一下。
一、
在本地的mysql中建立一个数据库,一张表,随便填几个记录。
这是我建的数据库 testbase 里的表 user 中的数据。

二、
接下来,建立一个java project,设置好JDK位置。
写一个helloworld确定没问题

然后建立一个Directory目录,起名叫libs,将下载好的jar包复制到该目录中。

在project structure中将其添加进工程(绿色的 + )

(当然也可以在目录中右击jar包 , add as lib)
准备工作做完,那么可以正式开始了。
三、
建立一个Java Class文件,导入需要的包:
import java.sql.*;
这个Class中所需要的属性有:
//mysql驱动包名,有些教程是没有cj的,那是已经过时了的要注意这个坑
private static final String DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
//数据库连接地址,格式看作是jdbc:数据库类型://主机名:端口号/要连接的数据库名,不加后一句设置会有warning
//localhost是本地主机,3306是默认端口号
private static final String URL = "jdbc:mysql://localhost:3306/testbase?useSSL=false";
//填自己的mysql用户名
private static final String USER_NAME = "root";
//密码
private static final String PASSWORD = "填自己的密码";
四、
接下来在main方法中开始连接数据库,并进行操作。
try {
//不同数据库驱动是不一样的,这句话是为了让JVM加载驱动类,从而初始化DriverManager。
Class.forName(DRIVER_NAME);
//与数据库连接,返回Connection
Connection connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
//填写需要执行的语句
String sql = "SELECT * FROM user";
//Statement和PreparedStatement两种类是用来操作数据库的
PreparedStatement prst = connection.prepareStatement(sql);
//执行操作语句,返回单结果集;如果用insert、delete这几个语句的话,可以用excuteUpdate(),这个方法会返回
//受影响的行数
//ResultSet可以用next方法来迭代查询的结果
ResultSet rs = prst.executeQuery();
while (rs.next()) {
//getString的参数传入的是rs得到的查询结果中带有的字段名。
System.out.println(rs.getString("ID") + "-" + rs.getString("NAME")+ "-" +
rs.getString("FLAG"));
}
rs.close();
prst.close();
} catch (Exception e) {
e.printStackTrace();
}finally {
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
执行的结果:

注:如果在运行期间报了一个server time的错,可以在url后加一个上:
;serverTimezone=GMT%2B8

浙公网安备 33010602011771号