栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC(1)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC(1)

目录

一、JDBC概述

1.1 基本介绍

1.2 JDBC带来的好处

1.3 JDBC API

二、JDBC快速入门

2.1 JDBC程序编写步骤

三、获取数据库连接5种方式 

方式1

方式2

方式3

方式4

方式5


一、JDBC概述

1.1 基本介绍

1. JDBC为访问不同的数据库提供了统一的接口,为使用者屏蔽了细节问题

2. Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,从而完成对数据库的各种操作

1.2 JDBC带来的好处

        JDBC是Java提供一套用于数据库操作的接口API,Java程序员只需要面向这套接口编程即可。不同的数据库厂商,需要针对这套接口提供不同实现 

1.3 JDBC API

        JDBC API是一系列接口,它统一和规范了应用程序与数据库的连接、 执行SQL语句,并得到返回结果等各类操作,相关类恶化接口在 java.sql 与 javax.sql 包中

二、JDBC快速入门

2.1 JDBC程序编写步骤

1. 注册驱动——加载Driver类

2. 获取连接——得到Connection

3. 执行增删改查——发送SQL给mysql执行

4. 释放资源——关闭相关连接

package com.learn.jdbc;

import com.mysql.jdbc.Driver;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class Jdbc01 {
    public static void main(String[] args) throws SQLException {

        //1.注册驱动
        Driver driver = new Driver();//创建Driver对象

        //2.得到连接
        //  (1) jdbc:mysql:// 规定好表示协议,通过 jdbc 的方式连接 mysql
        //  (2) localhost 主机,可以是 ip 地址
        //  (3) 3306 表示 mysql 监听的端口
        //  (4) ggm_db02 连接到 mysql dbms 的哪个数据库
        //  (5) mysql 的连接本质就是前面学过的 socket 连接
        String url = "jdbc:mysql://localhost:3306/ggm_db02";
        //将用户和密码放入到Properties对象
        Properties properties = new Properties();
        //说明:user和password是规定好的,后面的值根据实际情况
        properties.setProperty("user","root");
        properties.setProperty("password","ggm");
        Connection connect = driver.connect(url, properties);//创建连接

        //3.执行sql语句
        //String sql = "insert into actor values(null,'刘德华', '男', '1970-11-11', '111222333')";
        String sql = "update actor set name = '周星驰' where id = 1";
        Statement statement = connect.createStatement();//发送和执行sql语句
        int rows = statement.executeUpdate(sql);//如果是dml语句,返回的就是影响的行数,返回1说明成功,0是失败

        System.out.println(rows > 0 ? "成功" : "失败");

        //4.关闭连接
        statement.close();
        connect.close();
    }
}

三、获取数据库连接5种方式 

方式1

方式2

方式3

方式4

方式5

 

package com.learn.jdbc;

import com.mysql.jdbc.Driver;
import org.junit.jupiter.api.Test;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;


public class JdbcConn {

    //方式1
    @Test
     public void connect01() throws SQLException {
        Driver driver = new Driver();//创建Driver对象
        String url = "jdbc:mysql://localhost:3306/ggm_db02";
        //将用户和密码放入到Properties对象
        Properties properties = new Properties();
        //说明:user和password是规定好的,后面的值根据实际情况
        properties.setProperty("user","root");
        properties.setProperty("password","ggm");
        Connection connect = driver.connect(url, properties);//创建连接
        System.out.println(connect);
    }


    //方式2
    @Test
    public void connect02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
        //使用反射加载Driver,动态加载,更加灵活,减少依赖性
        Class aClass = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver) aClass.newInstance();

        String url = "jdbc:mysql://localhost:3306/ggm_db02";
        //将用户和密码放入到Properties对象
        Properties properties = new Properties();
        //说明:user和password是规定好的,后面的值根据实际情况
        properties.setProperty("user","root");
        properties.setProperty("password","ggm");
        Connection connect = driver.connect(url, properties);
        System.out.println("方式2 = " + connect);
    }


    //方式3 使用DriverManage 替代driverj进行统一管理
    @Test
    public void connect03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
        //使用反射加载Driver
        Class aClass = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = (Driver)aClass.newInstance();
        //创建url 和 user 和 password
        String url = "jdbc:mysql://localhost:3306/ggm_db02";
        String user = "root";
        String password = "ggm";

        DriverManager.registerDriver(driver); //注册Driver驱动
        Connection connection = DriverManager.getConnection(url, user, password);
        System.out.println("方式3 = " + connection);
    }

    //方式4  使用Class.forName自动完成注册驱动,简化代码
    //这种方式获取连接是使用最多的,推荐使用
    @Test
    public void connect04() throws ClassNotFoundException, SQLException {

        Class aClass = Class.forName("com.mysql.jdbc.Driver");

        
        //创建url 和 user 和 password
        String url = "jdbc:mysql://localhost:3306/ggm_db02";
        String user = "root";
        String password = "ggm";
        Connection connection = DriverManager.getConnection(url, user, password);
        System.out.println("方式4 = " + connection);
    }


    //方式5  在方式4的基础上改进,增加配置文件,让连接mysql更加灵活
    @Test
    public void connect05() throws IOException, ClassNotFoundException, SQLException {

        //通过properties对象获取配置文件的信息
        Properties properties = new Properties();
        properties.load(new FileInputStream("src\mysql.properties"));
        //获取相关的值
        String user = properties.getProperty("user");
        String password = properties.getProperty("password");
        String driver = properties.getProperty("driver");
        String url = properties.getProperty("url");

        Class aClass = Class.forName(driver); //建议写上
        Connection connection = DriverManager.getConnection(url, user, password);
        System.out.println("方式5 = " + connection);
    }
}

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872052.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号