IDEA-JDBC-day01
JDBC的快速入门
- 概念: Java Database Connectivity Java数据库连接,Java语言操作数据库.
- JDBC本质: 其实是官方(SUN公司)定义的一套操作所有关系型数据库的规则,即接口.各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套(JDBC)编程,真正执行的代码是驱动jar包中的实现类
- 快速入门:
- 步骤:
- 导入驱动jar包 mysql-connector-java-5.1.49-bin.jar
- 复制mysql-connector-java-5.1.49-bin.jar到项目的libs目录下
- 右键-->Add As Library
- 注册驱动
- 获取数据库连接对象 Connection
- 定于sql
- 获取执行sql语句的对象Statement
- 执行sql,接受返回结果
- 处理结果
- 释放资源
代码演示
import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Demo01_JDBC { public static void main(String[] args) throws Exception { //1.导入驱动jar包 //2.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //3.获取数据库连接对象 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db4", "root", "root"); //4.定义sql语句 String sql = "update account set balance = 5000 where id"; //5.获取执行sql的对象Statement Statement stmt = conn.createStatement(); //6.执行sql int count = stmt.executeUpdate(sql); //7.处理结果 System.out.println(count); //8.释放资源 stmt.close(); conn.close(); } }
详解各个对象:
DriverManager:驱动管理对象
功能:
驱动注册:告诉程序该使用哪一个数据库驱动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包可以省略注册驱动的步骤.
获取数据库连接:
方法:getConnection(String url, String user, String password) 参数: *url:指定连接的路径 *语法:jdbc:mysql://ip地址(域名):端口号/数据库名称 *例子: jdbc:mysql://localhost:3306/db4 *细节: 如果连接的是本机mysql服务器,并且mysql服务器默认端口3306,则url可以简写为:jdbc:mysql:///数据库名称 *user: 用户名 *password: 密码
Connection:数据库的连接对象
1.功能: 1.获取执行sql的对象 * Statement CreateStatement() * PreparedStatement prepareStatement(String sql) 2.管理事务: *开启事务: setAutoCommit(boolean autoCommit):调用该方法设置参数为false,即开启事务 *提交事务:commit() *回滚事务:rollback()
Statement:执行sql的对象
# 执行sql 1. boolean execute(String sql):可以执行任意的sql 了解 2. int executeUpdate(String sql):执行DML(insert,update,delete)语句、DDL(create,alter,drop)语句 * 返回值:是影响的语句个数 * 可以通过这个影响的行数判断DML语句是否执行成功,返回值大于0的执行成功,小于0的执行失败 3. ResultSet executeQuery(String sql):执行SQL(select)语句
ResultSet:结果集对象
PreparedStatement:执行sql的对象