ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【JDBC】API详解

2022-05-10 21:32:14  阅读:167  来源: 互联网

标签:JDBC SQL Driver API 键值 sql mysql jdbc 详解


DriverManager 作用

作用就以下两个:

  1. 注册驱动
  2. 获取数据库连接

注册驱动

Class.forName("com.mysql.cj.jdbc.Driver");

Driver 类源码如下,其中有一个静态代码块,真正的注册驱动是由DriverManager.registerDriver(new Driver());语句执行,该静态代码块可以随着Driver类的加载自动执行。

public class Driver extends NonRegisteringDriver implements java.sql.Driver {
    public Driver() throws SQLException {
    }

    static {
        try {
            DriverManager.registerDriver(new Driver());
        } catch (SQLException var1) {
            throw new RuntimeException("Can't register driver!");
        }
    }
}

注:mysql5之后的jar包可以不用写Class.forName();方法来注册驱动,可以省略,它会自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类

获取连接

static Connection getConnection(String url,String user,String password);

参数

  1. url:连接路径,有固定语法
  • 语法:jdbc:mysql://ip地址(域名):端口号/数据库名称?参数键值对1&参数键值对2...
  • 举例:jdbc:mysql://localhost:3306/db1
  • 细节:
    如果连接的是本机的mysql服务器,ip地址可以写:127.0.0.1,或者写域名为localhost,如果同时mysql的端口号为默认的3306,那么url可以简写为:jdbc:mysql:///数据库名称?参数键值对
    配置useSSL=false参数,禁用安全连接方式(就是可能会出现提示说建议采用SSL方式的连接,但是由于没有遇到就不写了),解决警告提示
  1. user:用户名
  2. password:密码

Connection

作用:

  1. 获取执行SQL的对象
  2. 管理事务

获取执行SQL对象

  • 普通执行SQL对象
Statement createStatement()
  • 预编译SQL的执行SQL对象,防止SQL注入
PreparedStatement prepareStatement(sql)
  • 执行存储过程的对象
CallableStatement prepareCall(sql)

事务管理

  • MySQL事务管理
    开启事务:BEGIN;/START TRANSACTION;
    提交事务:COMMIT;
    回滚事务:ROLLBACK

标签:JDBC,SQL,Driver,API,键值,sql,mysql,jdbc,详解
来源: https://www.cnblogs.com/ShaunY/p/16255439.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有