JDBC简介
JDBC就是使用Java语言操作关系型数据库的一套API
全称:(Java DataBase Connectivity ) Java数据库连接
官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类
各数据库厂商使用相同的接口,Java代码不需要针对不同数据库分别开发
可随时替换底层数据库,访问数据库的Java代码基本不变
JDBC七步入门
API详解
1.注册驱动
//注册驱动 Class.forName("com.mysql.jdbc.Driver"); //查看Driver类源码 static { try { DriverManager.registerDriver(new Driver()); }catch (SQLException var1) { throw new RuntimeException( "Can't register driver ! "); } }
注意:
MySQL 5之后的驱动包,可以省略注册驱动的步骤
自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类
2.获取连接
static Connection getconnection (String url,String user,String password)
参数
1. url:连接路径
语法:jdbc:mysql:/lip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2...
示例:jdbc:mysql://127.0.0.1:3306/db1
细节:
如果连接的是本机mysq服务器,并且mysql服务默认端口是3306,则uri可以简写为: jdbc:mysql:/数据库名称?参数键值对
配置useSSL=false参数,禁用安全连接方式,解决警告提示
2. user:用户名
3. password:密码
1.获取执行SQL的对象
- 普通执行SQL对象
Statement createStatement()
- 预编译SQL的执行SQL对象:防止SQL注入
PreparedStatement prepareStatement (sql)
- 执行存储过程的对象
CallableStatement prepareCall (sql)
2.事务管理
- MySQL事务管理
开启事务:BEGIN; /START TRANSACTION;
提交事务:COMMIT;
回滚事务:ROLLBACK;
MySQL默认自动提交事务
- JDBC事务管理:Connection接口中定义了3个对应的方法
开启事务: setAutoCommit(boolean autoCommit): true为自动提交事务;false为手动提交事务,即为开启事务
提交事务: commit()
回滚事务:rollback()
1.执行SQL语句
- 执行SQL语句
int executeUpdate(sql); //执行DML、DDL语句
返回值:
(1)DML语句影响的行数
(2)DDL语句执行后,执行成功也可能返回0
ResultSet是Statement的另一个执行SQL语句方式,主要用于执行DQL语句,返回查询结果对象
执行DQL语句
ResultSet executeQuery(sql); //执行DQL语句
返回值
(1)ResultSet对象