1. JDBC链接数据库
2. JDBC是什么?
3. JDBC的快速入门
4. 对于JDBC的接口和类的解释
2. 目标
1. JDBC的相关概念
2. JDBC操作数据库的方式
3. JDBC的事务管理-->非常重要
3. 笔记
1. JDBC是什么?-->Java DataBase Connectivity Java数据库连接,Java操作数据库
1. JDBC的本质:其实就是sun公司定义的操作所有关系型数据库的规则,即接口;各个数据库厂商去实现这套接口,提供给开发人员数据库驱动jar包;我们可以通过这套接口(JDBC)变成,真正的执行代码是驱动jar包中的实现类;
2. JDBC快速入门:
1. idea创建lib目录
2. 将数据库驱动jar包复制到idea的lib中
1. 右键选中lib目录或选中驱动jar包-->Add as Library
3. 注册驱动
Class.forName("com.mysql.jdbc.Driver");//参数是当前导入的驱动jar包的类路径
4. 获取数据库连接对象Connection
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");//3个参数:1.连接的数据库是那个;2.数据库账号;3.数据库密码
5. 定义sql
String sql = "select * from test";
6. 执行sql,并获取返回结果
Statement statement= connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
7. 处理结果
while(resultSet.next()){
System.out.println(resultSet.getString("id")+" - "+resultSet.getString("name"));
}
8. 释放资源
resultSet.close();//释放资源
statement.close();//释放资源
connection.close();//释放资源
3. JDBC类的解释
1. DriverManager.registerDriver(new Driver());驱动管理--》注册
2. DriverManager:驱动管理对象
功能
- [ ] List item
1. 注册驱动:告诉程序该使用哪一个数据库驱动jar包
public static synchronized void registerDriver(java.sql.Driver driver)
注册与给定的驱动程序
写代码时使用的Class.forName("com.mysql.jdbc.Driver");
驱动中所作的操作就是注册MySQL的相关动作
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
3. 获取数据库连接:
方法:public static Connection getConnection(String url, String user, String password)
参数:
1. url:所代表的指定连接的数据库路径
语法:jdbc:mysql://ip地址(连接地址、域名):端口号(默认3306)/连接的数据库名称
如果连接的是本地数据库可以省略连接地址以及端口号(默认的情况下3306)
例如:jdbc:mysql:///数据库名称
2. user:数据库的用户名
3. password:数据库的密码
4. Connection 数据库连接对象
1. 功能
1. 获取执行sql的对象
1. Statement createStatement();
2. PreparedStatement prepareStatement(String sql);
2. 管理事务
1. 开启事务:void setAutoCommit(boolean autoCommit)//默认是true,设置为false则代表开启事务
2. 提交事务:void commit()//提交事务
3. 回滚事务:void rollback()//将操作回滚
5. Statement:用于获取执行sql的对象
1. 执行sql
1. boolean execute(String sql)//执行任意sql--》了解
2. int executeUpdate(String sql)//执行DML(增删改)语句以及DDL的语句(创建删除修改)
返回值int:
影响行数,可以通过这个影响行数来判断执行是否成功,返回值>0则代表执行成功,反之则是失败
3. ResultSet executeQuery(String sql)//执行DQL(查询)语句
返回值ResultSet结果集对象:我们查询出来的数据都在里面
package com.xyd;
import java.sql.*;
public class Main {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// write your code here
System.out.println("打印测试");
// 1. idea创建lib目录
// 2. 将数据库驱动jar包复制到idea的lib中
// 1. 右键选中lib目录或选中驱动jar包-->Add as Library
// 3. 注册驱动
//Class.forName("com.mysql.jdbc.Driver");//参数是当前导入的驱动jar包的类路径
// 4. 获取数据库连接对象Connection
Connection connection = DriverManager.getConnection("jdbc:mysql:///test","root","root");//3个参数:1.连接的数据库是那个;2.数据库账号;3.数据库密码
// connection.setAutoCommit(false);
// connection.commit();
// connection.rollback();
// 5. 定义sql
String sql = "select * from test";
// 6. 执行sql,并获取返回结果
Statement statement= connection.createStatement();
// PreparedStatement preparedStatement = connection.prepareStatement(sql);
// preparedStatement.executeQuery();
sql = "insert into test values(null,'xiaohei2')";
int i = statement.executeUpdate(sql);//增删改所使用
System.out.println(i);
// ResultSet resultSet = statement.executeQuery(sql);
// 7. 处理结果
// while(resultSet.next()){
// System.out.println(resultSet.getString("id")+" - "+resultSet.getString("name"));
// }
// 8. 释放资源
// resultSet.close();//释放资源
statement.close();//释放资源
connection.close();//释放资源
}
}