DriverManager(驱动管理类)(工具类)
作用:
1.注册驱动
2.获取数据库的链接
Connection(数据库链接对象)
作用:
1.获取执行SQL的对象
.普通执行SQL的对象
Statement stmt = conn.createStatement();
.预编译SQL的执行SQL对象,防止SQL注入,-->
PreparedStatement PreparedStatement(sql)
.执行储存过程的对象
CallableStatement PrepareCall(sql)
2.管理事务
.mysql事务管理(mysql默认自动提交事务)
开启事务:begin:/start transaction;
提交事务:commit;
回滚事务:rollback
.jdbc事务管理(connection接口中定义了三个对应的方法)
开启事务:setAutoCommit(boolean autoCommit):true为自动提交事务;flase为手动提交事务,即为开启事务
提交事务:commit();
回滚事务:rollback();
Statement作用:
作用:
1.执行sql语句
执行SQL语句方法:(Statement 提供了方法对DDL,DML,DQL,进行操作)
DDL:对表和库的增删改查工作
DML:对数据的增删改工作
DQL:对数据的查询工作
1.int executeUpdate(sql):执行DML,DDL语句。
返回值: 1.DML语句影响的行数
2.DDL语句执行后,执行成功也可能返回0
2.ResultSet executeQuery(sql):执行DQL语句
返回值: ResultSet结果集对象
ResultSet
ResultSet(结果集对象)作用:
1.封装了DQL查询语句的结果集
ResultSet stmt.executeQuery(sql);执行DQL语句,返回ResultSet对象
获取查询的结果
Boolean next();
(1).将光标从当前位置向前移动一行
(2).判断当前行是否为有效行
(3).返回值:
.true:有效行,当前行有数据
.flase:无效行,当前行没有数据
xxx getXxx(参数):获取数据
xxx:数据类型:如 int getInt(参数);String getString(参数)
参数:
.int:列的标号,从1开始
.String 列的名称
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class jdbcdemo01链接数据库测试 {
/*
DriverManager(驱动管理类)(工具类)
作用:
1.注册驱动
2.获取数据库的链接
Connection(数据库链接对象)
作用:
1.获取执行SQL的对象
.普通执行SQL的对象
Statement stmt = conn.createStatement();
.预编译SQL的执行SQL对象,防止SQL注入,-->
PreparedStatement PreparedStatement(sql)
.执行储存过程的对象
CallableStatement PrepareCall(sql)
2.管理事务
.mysql事务管理(mysql默认自动提交事务)
开启事务:begin:/start transaction;
提交事务:commit;
回滚事务:rollback
.jdbc事务管理(connection接口中定义了三个对应的方法)
开启事务:setAutoCommit(boolean autoCommit):true为自动提交事务;flase为手动提交事务,即为开启事务
提交事务:commit();
回滚事务:rollback();
Statement作用:
作用:
1.执行sql语句
执行SQL语句方法:(Statement 提供了方法对DDL,DML,DQL,进行操作)
DDL:对表和库的增删改查工作
DML:对数据的增删改工作
DQL:对数据的查询工作
1.int executeUpdate(sql):执行DML,DDL语句。
返回值: 1.DML语句影响的行数
2.DDL语句执行后,执行成功也可能返回0
2.ResultSet executeQuery(sql):执行DQL语句
返回值: ResultSet结果集对象
ResultSet
ResultSet(结果集对象)作用:
1.封装了DQL查询语句的结果集
ResultSet stmt.executeQuery(sql);执行DQL语句,返回ResultSet对象
获取查询的结果
Boolean next();
(1).将光标从当前位置向前移动一行
(2).判断当前行是否为有效行
(3).返回值:
.true:有效行,当前行有数据
.flase:无效行,当前行没有数据
xxx getXxx(参数):获取数据
xxx:数据类型:如 int getInt(参数);String getString(参数)
参数:
.int:列的标号,从1开始
.String 列的名称
*
*/
public static void main(String[] args) throws Exception {
//1.注册驱动-->注释掉也是没错
//Class.forName("com.mysql.jdbc.Driver");
//获取链接
//useSSL=false-->解决控制台上出现的ssl警告问题
String url ="jdbc:mysql://127.0.0.1:3306/db1?useSSL=false";
String username ="root";
String password ="";
Connection conn = DriverManager.getConnection(url,username,password);
//3.定义需求语句
String sql = "update account set money = 2000 where id = 3;";
//4.获取sql执行的对象 Statement
Statement stmt = conn.createStatement();
//5.执行sql---->>>返回受影响的sql语句
int count = stmt.executeUpdate(sql);
//6.处理结果---->>>输出受影响的行数
System.out.println(count);
//7.释放资源
stmt.close();
conn.close();
}
}