步骤总结:
1、加载驱动
8.0以上版本
class.forName("com.mysql.cj.jdbc.Driver");//固定写法,加载驱动
8.0以下版本
class.forName("com.mysq1.jdbc.Driver");//固定写法,加载驱动
2、连接数据库 DriverManager
8.0以上版本
DriverManager.getConnection("jdbc:mysql://localhost:3306/【数据库名称】?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai","root","qwertyuiopblp");
【useUnicode=true&characterEncoding=utf-8】:指定编码解码格式
【serverTimezone=Asia/Shanghai】:设置时区
8.0以下版本
DriverManager.getConnection("jdbc :mysql://loca1host:3306/【数据库名称】?useUnicode=true&characterEncoding=utf-8&usessL=true");
// mysql -- 3306
//协议∶//主机地址:端口号/数据库名?参数1&参数2&参数3
3、获得执行sql的对象Statement
String sql="insert into bb values(9)";
Statement statement = connect.createStatement();
4、获得返回的结果集
ResultSet re=stmt.executeUpdate(SQL语句);用来更新数据库信息或插入数据
ResultSet re=stmt.executeQuery(SQL语句);用来查询数据库信息
查询
//查询
String sqls="select * from user";
ResultSet resultSet = statement.executeQuery(sqls);
//ResultSet查询的结果集:封装了所有的查询结果获得指定的数据类型
//在不知道列类型的情况下使用
resultset.getobject()
//如果知道列的类型就使用指定的类型
resultset.getstring()
resultset.getInt()
resultset. getF1oat()
resul1tset.getDate()
resultset.getobject()
插入
//插入
String sql = "insert into user values('root','qwertyuiopbl')";
int b = statement.executeUpdate(sql);//b未插入行数,为0则插入失败
5、释放连接
//关闭连接
statement.close();
connect.close();
完整代码
public static void main(String[] args) throws Exception {
//注册驱动
Connection connect = null;
Class.forName("com.mysql.cj.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/nn?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC", "root", "qwertyuiopblp");
if (connect == null) {
System.out.println("连接失败");
} else {
System.out.println("连接成功");
}
//插入
String sql = "insert into user values('root','qwertyuiopbl')";
Statement statement = connect.createStatement();
int b = statement.executeUpdate(sql);
//查询
String sqls="select * from user";
ResultSet resultSet = statement.executeQuery(sqls);
System.out.println(b > 0 ? "成功" : "失败");
//关闭连接
statement.close();
connect.close();
}