1.什么是JDBC?
建立数据库的连接,实现Java程序与数据库之间的连接,方便数据的增删改查。
JDBC中的核心类有:DriverManager、Connection、Statement,和ResultSet
2.DriverManager(驱动管理者)
注册驱动:可以让JDBC知道要使用的是哪个驱动。
获取Connection: 如果可以获取到connection,说明已经与数据库连接上。
3.Connection(数据库连接对象)
Connection最为重要的一个方法就是来获取Statement对象
4.Statement(SQL执行对象)
作用: 1.向数据库发送SQL 2.执行SQL,并且获取执行结果 核心方法:
-
void executeUpdate(String sql):执行更新操作(insert、update、delete等); . ResultSet executeQuery(String sql):执行查询操作,数据库在执行查询后会把查询结果,查询结果就是ResultSet;
5.ResultSet(结果集对象)
将查询结果封装到Resultset结果集中。结果集是一个二维的表格,有行有列。 核心方法:
-
boolean next():使“行光标”移动到下一行,并返回移动后的行是否存在;
-
XXX getXXX(int col):获取当前行指定列上的值,参数就是列数,列数从1开始,而不是0
3.XXX getXXX(String colName):获取当前行指定列上的值,参数就是列数,列数从1开始,而不是0。
-
功能:就是类中的方法:registerDriver和getConnection
1.registerDriver注册驱动:告诉程序该使用哪一个数据库驱动jar
static void registerDriver(Driver driver)//注册与给定的驱动程序DriverManager
写的代码使用:
Class.forName("com.mysql.jdbc.Driver");
通过查看源码发现:在com.mysql.jdbc.Driver类中存在静态代码块
Static {
try{
java.sql.DriverManager.registerDriver(new Driver);
}catch (SQLException E){
throw new RuntimeException("Can't register driver!");
}
}
注意的是:在mysql5之后的驱动jar包可以省略注册驱动的步骤
2.getConnection获取数据库连接
方法:static Connection getConnection(String url,String username,String password)
参数:
url:指定连接的路径
语法:jdbc:mysql://ip地址(域名):端口号/数据库名称
例子:jdbc:mysql://localhost:3306/数据库名称
细节:如果连接是本机Mysql服务器,并且默认的端口是3306,则url可以 简写为:jdbc:mysql:///数据库名
6.*PreparedStatement
属于Statement的子类。作用:发送SQL语句、执行SQL语句
目的:解决SQL注入,防止SQL攻击 预编译SQL语句,后期再注入SQL参数 ,发送SQL语句, 执行SQL语句
7.CallableStatement
CallableStatement:是statement子类
区别:支持存储过程的执行和调用,执行效率差别
8.SQL事务
8.1 四个特点:原子性、一致性、隔离性、持久性
8.2 事务控制语句
BEGIN或START TRANSACTION显示开启一个事务;
COMMIT提交事务;
RALLBACK回滚事务(用于其中一个事务执行失败后回滚);
8.3事务提交禁止和开启
SET AUTOCOMMIT = 0 禁止自动提交
SET AUTOCOMMIT = 1 开启自动提交