JDBC连接数据库

一、JDBC简介
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级工具的接口,是数据库开发人员能够编写数据库应用程序。

二、JDBC原理


JDBC原理:JDBC是以前SUN公司定义的一套访问数据库的接口(没有具体实现),一套标准,具体的实现是由各大数据库厂家去实现,每个数据库厂家都由自己的JDBC实现,也就是JDBC驱动实现,JDBC驱动实现类,Java应用程序连接指定数据库,需要使用厂家提供的JDBC驱动才能连接。(这里其实就是java堕胎的一种体现,一个接口可以由很多具体的实现)

三、JDBC连接数据库步骤
第一步:加载驱动;

第二步:连接数据库;

第三步:使用语句操作数据库;

第四部:关闭数据连接,释放资源;

四、在项目里配置数据库驱动
右击项目->Build Path->Configure Build Path... ->AddExteranl JARs...



public class Demo1 {
    
    private static String jdbcName = "com.mysql.jdbc.Driver";
    
    public static void main(String[] args) {
        try {
            Class.forName(jdbcName);
            System.out.println("加载驱动成功");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("加载驱动失败");
        }
    }
}
五、加载数据驱动
Mysql驱动名:com.mysql.jdbc.Driver

加载方式:Class.foName('驱动名');

六、连接及关闭数据库
1,DriverManager驱动管理类,主要负责获取一个数据库的连接;

      static Connection getConnection(String url,String user,String password)试图建立道给定数据库URL的连接。

2,MySQL数据库的连接地址格式

     jdbc:mysql://IP地址:端口号/数据库名称

    jdbc协议:JDBC URL中的协议总是jdbc;

    子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如mysql;

    子名称:一种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准URL命名约定,如//localhost:3306/db_book

3,Connection 接口 与特定数据库的连接(会话)。

    void close()

           立即释放此Connection对象的数据库和JDBC资源,而不是等待它们被自动释放。

public class Demo2 {
    //数据库地址
    private static String dbUrl="jdbc:mysql://localhost:3306/ecshop";
    //用户名
    private static String dbUserName="root";
    //密码
    private static String dbPassword="root";
    //驱动名称
    private static String jdbcName="com.mysql.jdbc.Driver";
    public static void main(String[] args) {
        try {
            Class.forName(jdbcName);
            System.out.println("加载驱动成功!");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            System.out.println("加载驱动失败!");
        }
        Connection con = null;
        try {
            con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
            System.out.println("获取数据库连接成功");
            System.out.println("进行数据库操作");
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
 

原文地址:https://www.cnblogs.com/zhuyeshen/p/10968014.html