day53续
IDEA安装
浏览器搜索,在idea官网直接下载需要的版本安装包,安装流程基本无脑
对于专业版要激活,可找相关资源也可购买;社区版不需要
配置环境变量
JDBC
JDBC:java database connectivity
SUN公司提供的一套操作数据库的标准规范。
JDBC与数据库驱动的关系:接口与实现的关系。
JDBC理解图:
JDBC的四大金刚
- DriverManager:用于注册驱动
- Connection: 表示与数据库创建的连接
- Statement: 操作数据库sql语句的对象
- ResultSet: sql语句执行后返回的结果集
JDBC操作步骤
- 加载驱动
- 创建连接对象
- 创建Statement对象
- 通过Statement对象执行sql语句
- 获取执行结果
package com.qf.jdbc;
import org.testng.annotations.Test;
import java.sql.*;
public class Test01 {
/**
* 知识点:JDBC
*/
//添加数据
@Test
public void test01() throws ClassNotFoundException, SQLException {
//导入驱动包
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/fy2401javaee?characterEncoding=utf8&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, user, password);
//获取发送指令对象
Statement statement = connection.createStatement();
//发送SQL指令
String sql = "INSERT INTO student(name,sex,age,salary,course) VALUES('京香Julia','女',28,6000,'HTML');";
int num = statement.executeUpdate(sql);
System.out.println("对于" + num + "行造成了影响");
//关闭资源
statement.close();
connection.close();
}
//删除数据
@Test
public void test02() throws ClassNotFoundException, SQLException {
//导入驱动包
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/fy2401javaee?characterEncoding=utf8&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, user, password);
//获取发送指令对象
Statement statement = connection.createStatement();
//发送SQL指令
String sql = "DELETE FROM student WHERE id>10;";
int num = statement.executeUpdate(sql);
System.out.println("对于" + num + "行造成了影响");
//关闭资源
statement.close();
connection.close();
}
//修改数据
@Test
public void test03() throws ClassNotFoundException, SQLException {
//导入驱动包
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/fy2401javaee?characterEncoding=utf8&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, user, password);
//获取发送指令对象
Statement statement = connection.createStatement();
//发送SQL指令
String sql = "UPDATE student SET age=21,salary=50000 WHERE id=3;";
int num = statement.executeUpdate(sql);
System.out.println("对于" + num + "行造成了影响");
//关闭资源
statement.close();
connection.close();
}
//查询数据
@Test
public void test04() throws ClassNotFoundException, SQLException {
//导入驱动包
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接对象
String url = "jdbc:mysql://localhost:3306/fy2401javaee?characterEncoding=utf8&serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection = DriverManager.getConnection(url, user, password);
//获取发送指令对象
Statement statement = connection.createStatement();
//发送SQL指令,并获取结果集对象
String sql = "select * from student";
ResultSet resultSet = statement.executeQuery(sql);
//遍历结果集
while(resultSet.next()){//判断是否有可迭代的数据行
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String sex = resultSet.getString("sex");
int age = resultSet.getInt("age");
float salary = resultSet.getFloat("salary");
String course = resultSet.getString("course");
System.out.println(id + " -- " + name + " -- " + sex + " -- " + age + " -- " + salary + " -- " + course);
}
//关闭资源
resultSet.close();
statement.close();
connection.close();
}
}
理解:
最简单的JDBC操作
(1)新建项目
这里注意工作空间的修改
(2)导驱动包,即导入到当前项目
01 建个文件夹,设置成资源目录,把要使用的jar包拉进来
02 Project Seting再添加jar,就将刚才添加的资源目录的jar包添加【相当于jar包与项目连接】
(3)JDBC操作
分包一如既往的重要
新建一个类
【注意抛异常和导包alt+回车】
【@Test注解依赖直接添加,仓库会自动下载】01导入驱动包【导入的路径可以通过提示打出】
02获取连接对象
【jdbc:连接数据库mysql,url、root、password;url格式网上搜,注意数据库名】
【DriverManager调用方法获取连接对象】
03获取发送指令对象【连接对象调用方法创建】
一、添加、删除、修改数据
添加数据为例
注意:添加、删除、修改数据都是数据的更新,
04发送指令对象调用更新数据方法executeUpdate,传入sql指令,返回的是影响的行数,输出打印
05关闭资源,注意倒序关闭【关闭顺序和创建顺序相反】
二、查询数据
前面三步都一样
第四步发送sql对象,并获取指令集对象
发送指令对象调用查询数据方法executeQuery,传入sql指令,返回结果集
相应就会有别的操作,遍历结果集,while判断是否有可遍历的数据行,获取到数据行对应的字段,输出打印最后关闭资源
注解测试运行
添加
@Test旁边有个绿色运行按钮,运行可见输出的影响行数;再到Navicat查看是否插入成功
删除
修改
查询