Java原生JDBC快速入门

一 、概念

1.  概念:Java DataBase Connectivity  Java 数据库连接 ,Java语言操作数据库
2.  JDBC本质:其实是官方(Sun)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行代码的是驱动jar包中的实现类。  多态

二. 快速入门

1.步骤

1. 导入驱动jar包 `mysql-connector-java-5.1.37-bin.jar`
  	1. 复制``mysql-connector-java-5.1.37-bin.jar`到项目的libs目录下
  	2. 右键---> Add As Library
2. 注册驱动
3. 获取数据库连接对象 Connection
4. 定义sql
5. 获取执行sql语句的对象 Statement
6. 执行sql,接收返回结果
7. 处理结果
8. 释放资源
  • 代码实现

     //1.导入驱动jar包
            //2.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //3.获取数据库连接对象
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db3", "root", "root");
            //4.定义sql语句
            String sql = "update account set balance =500 where id =1";
            //5.获取执行sql的对象 Statement
            Statement stmt = conn.createStatement();
            //6.执行sql
            int count = stmt.executeUpdate(sql);
            //7.处理结果
            System.out.println(count);
            //8.释放资源
            stmt.close();
            conn.close();
    

2.详解各个对象

1. DriverManager :驱动管理对象

  • 功能

    1. 注册驱动 :告诉程序该市有哪一个数据库驱动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!");
              }
          }
      

      注意:MySQL 5之后的驱动jar包可以省略注册驱动的步骤。

    2. 获取数据库连接

      • 方法:static Connection getConnection(String url, String user, String password) 尝试建立与给定数据库URL的连接。

      • 参数:

        `url`:指定连接的路径
        
        			语法:`"jabc:mysql://ip地址:端口号/数据库名称"`
        
        			例子:`"jdbc:mysql://localhost:3306/db3"`
        
        			细节:如果连接的是本机的mysql服务器,并且mysql服务默认端口是3306,则url可以简写				为`"jdbc:mysql:///db3"`
        
        `user`:用户名
        
        `password`:密码
        

2. Connection:数据库连接对象

  • 功能
    1. 获取执行sql的对象:
      • Statement createStatement():创建一个 Statement对象,用于将SQL语句发送到数据库。
      • PreparedStatement prepareStatement(String sql):创建一个 PreparedStatement对象,用于将参数化的SQL语句发送到数据库。
    2. 管理事务:
      • 开启事务:void setAutoCommit(boolean autoCommit):调用该方法设置参数为false,开启事务
      • 提交事务:void commit()
      • 回滚事务:void rollback()

3. Statement:执行sql的对象

猜你喜欢

转载自blog.csdn.net/qq_45370568/article/details/106784891