JDBC操作数据(以mysql为例)的5种常用方法

JDBC操作数据(以mysql为例)的5种常用方法

  • @description: jdbc的使用步骤
  •              1.加载数据库驱动
    
  •              2.通过DriverManager获取数据库连接
    
  •              3.执行sql
    
  •              4.释放连接
    
package cn.usts.edu.jdbc;

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

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

/**
 * @author :fly
 * @description: jdbc的使用步骤
 *                  1.加载数据库驱动
 *                  2.通过DriverManager获取数据库连接
 *                  3.执行sql
 *                  4.释放连接
 * @date :2021/11/4 14:58
 */
public class JdbcDemo {
    
    
    // 数据库连接方式1
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
    
    
        // 1.加载数据库驱动
        //Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
        Driver driver = new Driver();
        // 2.获取数据库连接
        // (1) jdbc:mysql 表示规定好的协议, 通过jdbc方式连接mysql
        // (2) 3306: 表示数据库端口号
        // (3) 127.0.0.1: 表示主机ip
        // (4) mybatis: 表示mysql中的哪一个数据库
        // (5) 数据库的本质连接就是socket连接
        String url = "jdbc:mysql://localhost:3306/persons";
        // (6) 用户名密码user和password是规定好的,不能写别的
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123321");

        Connection connect = driver.connect(url, properties);

        //3.执行sql
        String sql = "insert into persons.per value ('小明',2,18)";
        // 执行需要创建statement
        Statement statement = connect.createStatement();
        int rows = statement.executeUpdate(sql);// 返回生效行数
        System.out.println(rows>0 ? "成功":"失败");

        //4.释放连接
        statement.close();
        connect.close();
    }

    // 数据库连接方式2   动态加载更灵活
    @Test
    public void connect02() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    
    
        Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");// 动态加载类
        Driver driver = (Driver)aClass.newInstance();
        String url = "jdbc:mysql://localhost:3306/persons";
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123321");

        Connection connect = driver.connect(url, properties);
        System.out.println("方式2"+connect);

    }

    // 方式3    DriverManager统一管理驱动
    @Test
    public void connect03() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    
    
        Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
        Driver driver =(Driver) aClass.newInstance();
        DriverManager.registerDriver(driver);//注册驱动

        String url = "jdbc:mysql://127.0.0.1:3306/persons";
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123321");

        Connection connection = DriverManager.getConnection(url, properties);// 建立连接
        System.out.println("连接3=="+connection);
        connection.close();
    }

    // 方式4    DriverManager统一管理驱动
    @Test
    public void connect04() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    
    
        Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
        Driver driver =(Driver) aClass.newInstance();
        // DriverManager.registerDriver(driver);//注册驱动  可以不用注册驱动,Driver的底层静态方法里有默认执行的注册

        String url = "jdbc:mysql://127.0.0.1:3306/persons";
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123321");

        Connection connection = DriverManager.getConnection(url, properties);// 建立连接
        System.out.println("连接4=="+connection);
        connection.close();
    }

    // 方式5    DriverManager统一管理驱动
    @Test
    public void connect05() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    
    
//        Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");  // jdbc4+ 和 mysql5.1.6+ 就会自动到驱动包里自动加载驱动名,不过还是建议加上!!!
//        Driver driver =(Driver) aClass.newInstance();
        // DriverManager.registerDriver(driver);//注册驱动  可以不用注册驱动,Driver的底层静态方法里有默认执行的注册

        String url = "jdbc:mysql://127.0.0.1:3306/persons";
        Properties properties = new Properties();
        properties.setProperty("user","root");
        properties.setProperty("password","123321");

        Connection connection = DriverManager.getConnection(url, properties);// 建立连接
        System.out.println("连接5=="+connection);
        connection.close();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43619461/article/details/121161985