前言
老师组织的暑期集训营好难好难,上课的时候老师上来就从spring框架开始,听得我一脸懵逼。学不下去,只能从基础开始补。以下内容就是在上课听不下去整理的。
嘛是JDBC?
全称为Java Database Connectivity。就是用java语言来连接数据库。
为了用同一套java代码控制所有关系型数据库,sun公司定义了名为jdbc的一系列规则(接口)。
各个数据库厂商实现这套接口,提供数据库驱动jar包。我们可以使用这些代码,实现代码的确是jar包中的实现类。
执行步骤
- 导入驱动jar包,mysql-connector-java-xxx-bin.jar
- 连接数据库
- 定义sql语句
- 获取连接对象
- 获取执行sql的对象 Statement
- 执行sql
- 处理结果
- 释放资源
这么说根本听不懂对吧,先康一段代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class jdbc {
public static void main(String[] args) throws Exception {
//直接抛出异常
//1.加载驱动类
Class.forName("com.mysql.cj.jdbc.Driver");
//2.连接数据库
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/hd?serverTimezone=UTC",
"root",
"123456");
//3.定义sql语句
String sql = "insert into users values(1,1,1,1,NOW())";
//4.获取连接对象
Statement stmt = connection.createStatement();
//5.执行sql语句
int count = stmt.executeUpdate(sql);
//6.处理结果
System.out.println(count);
//7.释放资源
stmt.close();
connection.close();
}
}
各个对象:
-
DriverManager:驱动管理对象。
功能:
1. 注册驱动,告诉系统使用哪个数据库的jar包
代码使用:Class.forName("com.mysql.cj.jdbc.Driver"); //你数据库对应版本的驱动
-
获取数据库的连接:
方法: static Connection getConnection(String url , String user , String password );
参数:
* url:指定的连接路径
语法:jdbc:mysql://ip地址(域名):端口号(mysql默认为3306)/数据库名称?时区
* 例:jdbc:mysql://localhost:3306/hd
* 如果连接的是本机mysql服务器,并且mysql服务默认端口是3306,则url可以简写为:jdbc:mysql:///数据库名称
* user:用户名
* password:密码
-
-
Connection:数据库连接对象
* 功能:
1. 获取执行sql的对象:
* Statement createStatement();
* PreparedStatement preparedStatement();
2. 管理事务
* 开启事务:void setAutoCommit(boolean autoCommit) 调用该方法参数为false,为开启事务
* 提交事务:commit();
* 回滚事务:rollback(); -
Statement:执行sql对象
- 执行sql
- boolean execute(String sql):可以执行任意sql语句,但是不常用
- int executeUpdate(String sql):执行DML语句(insert,delete,update)、DDL(create,alter,drop)语句。
- 返回值为收到影响的行数。用于分析受到影响的行数来判断程序是否运行成功。
- ResultSet executeQuery(String sql):执行DQL语句(Select),返回结果集对象
- 执行sql
-
Result:结果集对象
-
PreparedStatement:执行sql对象
小结:
jdbc的内容大概就是上面的那些了,剩下的就是阿里的druid数据库连接池和jdbcTemplate的内容了,这里不多说了,剩下的大伙自行百度查看。