1.加载驱动
/*
mysql 5.+的版本加载驱动com.mysql.jdbc.Driver;
8.0后的版本是com.mysql.cj.jdbc.Driver
*/
2.提供url,用户信息
mysql端口号--3306
协议://主机地址:端口号/数据库名?参数1&参数2&参数3 (? 问号用来连接参数)
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8" +
"&useSSL=false&serverTimezone=UTC";
// useUnicode=true 表示支持中文
// characterEncoding=utf8防止乱码
// mysql的版本是5.7之后的版本必须要加上useSSL=false
// mysql5.7以及之前的版本则不用进行添加useSSL=false,会默认为false,一般情况下都是使用useSSL=false
// useSSL=true是进行安全验证,一般通过证书或者令牌什么的,useSSL=false就是通过账号密码进行连接
// mysql8.0后的版本useSSL=false
// 并且要加上 serverTimezone=UTC (时区)
3.进行连接,创建数据库对象 connection代表数据库
Connection connection = DriverManager.getConnection(url, usename, password);
4.创建执行sql语句的对象
Statement statement = connection.createStatement();
5.用对象来执行语句
statement.executeQuery(sql); //查询语句
//插入语句和删除语句用executeUpdate()方法
statement.execute(sql); //任意语句
ResultSet resultSet = statement.executeQuery(sql); //返回的结果集
resultSet.getObject();//当不知道获取的列是什么类型时,可以用getObject()
resultSet.getString();
resultSet.getInt();
resultSet.getDouble();
resultSet.getFloat();
resultSet.getDate();
resultSet.beforeFirst(); //移动到最前面
resultSet.afterLast(); //移动到最后面
resultSet.next(); //移动到下一个数据
resultSet.previous(); //移动到前一行
resultSet.absolute(row); //移动到指定行
6.释放连接
从内向外,依次关闭
package com.jdbc.test1;
import com.mysql.jdbc.Driver;
import java.sql.*;
public class Jdbc01 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.先加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");//mysql8.0后固定写法,加载驱动
//2.提供url,和用户信息
String url = "jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8" +
"&useSSL=false&serverTimezone=UTC";
String usename = "root";
String password = "0000";
//3.进行连接,创建数据库对象 connection代表数据库
Connection connection = DriverManager.getConnection(url, usename, password);
//4.创建执行SQL的对象 Statement来执行sql对象 statement就相当于编译器去编写,编译sql语句
Statement statement = connection.createStatement();
//5.用对象来执行sql语句
String sql = "SELECT * FROM users";
//返回的结果集,结果集中封装了我们全部查询出来的结果
ResultSet resultSet = statement.executeQuery(sql); //返回的结果集
while (resultSet.next()) {
System.out.println("id=" + resultSet.getObject("id")); //当不知道获取的列是什么类型时,统一为getObject()
System.out.println("NAME=" + resultSet.getObject("NAME"));
System.out.println("PASSWORD=" + resultSet.getObject("PASSWORD"));
System.out.println("email=" + resultSet.getObject("email"));
System.out.println("birthday=" + resultSet.getObject("birthday"));
}
//6.释放连接
resultSet.close();
statement.close();
connection.close();
}
}
标签:JDBC,false,sql,resultSet,useSSL,statement,mysql
From: https://www.cnblogs.com/weifengfuxiufa/p/16953686.html