0811JDBC随笔

打印 上一主题 下一主题

主题 972|帖子 972|积分 2916

1.JDBC体系系统 一组规范:接口

  • JDBC接口(API)包括两个层次:

    • 面向应用的API:Java API,抽象接口,供应用开发人员使用(连接数据库,执行SQL语句,获得结果)
    • 面向数据库的API:Java Driver API,供开发商开发数据库驱动程序

JDBC是sun公司提供一套用于数据库操作的接口,java程序员只需要面向这套接口编程即可。
不同的数据库厂商,需要针对这套接口,提供不同的实现集合,即为不同数据库的驱动
  1. package com.aiguigu.connection;
  2. import org.junit.Test;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.sql.Connection;
  6. import java.sql.Driver;
  7. import java.sql.DriverManager;
  8. import java.sql.SQLException;
  9. import java.util.Properties;
  10. public class ConnectionTest {
  11.     @Test
  12.     public void testConnection1() throws SQLException {
  13.         Driver driver = new com.mysql.cj.jdbc.Driver();
  14.         //jdbc:mysql协议
  15.         //local:IP地址
  16.         //3306:默认mysql端口号
  17.         //test:test数据库
  18.         String url = "jdbc:mysql://localhost:3306/MYSQL?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT";
  19.         //将用户名和密码封装在properties中
  20.         Properties info = new Properties();
  21.         info.setProperty("user","root");
  22.         info.setProperty("password","1234");
  23.         Connection conn = driver.connect(url, info);
  24.         System.out.println(conn);
  25.     }
  26.     //方式二:对方式一的迭代 在如下的方式中不出现第三方API,使程序具有更好的可移植性
  27.     @Test
  28.     public void testConnection2() throws Exception {
  29.         //获取Driver实现类对象,使用反射
  30.         Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
  31.         Driver driver = (Driver) clazz.newInstance();
  32.         //2.提供要连接的数据库
  33.         String url = "jdbc:mysql://localhost:3306/MYSQL?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT";
  34.         //提供要连接的用户名和密码
  35.         Properties info = new Properties();
  36.         info.setProperty("user","root");
  37.         info.setProperty("password","1234");
  38.         //获取连接
  39.         Connection conn = driver.connect(url, info);
  40.         System.out.println(conn);
  41.     }
  42.     @Test
  43.     //方式三:使用DriverManager替换Driver
  44.     public void testConnection3() throws Exception {
  45.         //1.获取Drive实现类的对象
  46.         Class<?> clazz = Class.forName("com.mysql.cj.jdbc.Driver");
  47.         Driver driver = (Driver) clazz.newInstance();
  48.         //2提供另外三个连接的基本信息
  49.         String url = "jdbc:mysql://localhost:3306/MYSQL?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT";
  50.         String user = "root";
  51.         String password = "1234";
  52.         //注册驱动
  53.         DriverManager.registerDriver(driver);
  54.         //获取连接
  55.         Connection connection = DriverManager.getConnection(url, user, password);
  56.         System.out.println(connection);
  57.     }
  58.     @Test
  59.     //方式三:使用DriverManager替换Driver
  60.     public void testConnection4() throws Exception {
  61.         //1.提供另外三个连接的基本信息
  62.         String url = "jdbc:mysql://localhost:3306/MYSQL?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT";
  63.         String user = "root";
  64.         String password = "1234";
  65.         //2.获取Drive实现类的对象
  66.         Class.forName("com.mysql.cj.jdbc.Driver");
  67.         //相较于方式三可以省略如下操作:
  68. //        Driver driver = (Driver) clazz.newInstance();
  69. //        //注册驱动
  70. //        DriverManager.registerDriver(driver);
  71.         //3.获取连接
  72.         Connection connection = DriverManager.getConnection(url, user, password);
  73.         System.out.println(connection);
  74.     }
  75.     //方式五:将数据库连接的四个基本信息声明在配置文件中通过读取配置文件,获取连接
  76.     @Test
  77.     public void getConnection5() throws Exception {
  78.         //1.读取配置文件中4个基本信息
  79.         InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");
  80.         Properties pros = new Properties();
  81.         pros.load(is);
  82.         String user = pros.getProperty("user");
  83.         String password = pros.getProperty("password");
  84.         String url = pros.getProperty("url");
  85.         String driverClass = pros.getProperty("driverClass");
  86.         //加载驱动
  87.         Class.forName(driverClass);
  88.         //获取连接
  89.         Connection conn = DriverManager.getConnection(url, user, password);
  90.         System.out.println(conn);
  91.     }
  92. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

缠丝猫

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表