区块链技术博客
www.b2bchain.cn

JDBC简介及连接MySQL数据库Code

这篇文章主要介绍了JDBC简介及连接MySQL数据库Code的讲解,通过具体代码实例进行17818 讲解,并且分析了JDBC简介及连接MySQL数据库Code的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=17818

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

JDBC简介

  • JDBC
    • 在Java中,数据库存取技术分类:
  • JDBC基础
    • JDBC接口(API)包括两个层次:
      • 面向应用的API
      • 面向数据库的API
  • JDBC连接MySQL数据库的连接测试。
    • 代码
    • 配置文件(db.properties)

JDBC

在Java中,数据库存取技术分类:

  • JDBC直接访问数据库

  • JDO技术

  • 第三方O/R工具,如Hibernate, mybatis 等

      JDBC是java访问数据库的基石,JDO, Hibernate等只是更好的封装了JDBC 

JDBC基础

  • JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这个类库可以以一种标准的方法、方便地访问数据库资源

  • JDBC为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了一些细节问题。

  • JDBC的目标是使Java程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

    我们认为的连接应该是如此
    JDBC简介及连接MySQL数据库Code
    但实际是这样
    JDBC简介及连接MySQL数据库Code

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

面向应用的API

  • Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果)。

面向数据库的API

  • Java Driver API,供开发商开发数据库驱动程序用。

JDBC是sun公司提供一套用于数据库操作的接口,java程序员只需要面向这套接口编程即可。不同的数据库厂商,需要针对这套接口,提供不同实现。不同的实现的集合,即为不同数据库的驱动。
                                                ————面向接口编程

JDBC连接MySQL数据库的连接测试。

有五种方式,依次进行迭代。最终方式五(推荐使用)。主要是数据和代码解耦,并且在后期如果部署到服务器上后,我们只需要修改配置文件即可。不需要再全部重新打包。
       我这边使用的是MySQL 8.0.21,所以所用的驱动是com.mysql.cj.jdbc.Driver,对于MySQL5的版本则还是原来的com.mysql.jdbc.Driver。并且高版本的MySQL需要设置时区,低版本的不需要没有太大影响。
URL:
jdbc:mysql://localhost:3306/test?serverTimezone=GMT

代码

import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.util.Properties;  import org.junit.Test;  import com.mysql.cj.jdbc.Driver;  public class ConnectionTest {  	/** 	 *	 方式一 	 */ 	@Test 	public void connectionTest1() throws Exception { 		Driver driver = (Driver) new com.mysql.cj.jdbc.Driver(); 		 		String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT"; 		//将用户和密码封装到Properties中 		Properties info = new Properties(); 		info.setProperty("user", "root"); 		info.setProperty("password", "123456"); 		 		Connection connect = driver.connect(url, info); 		System.out.println(connect); 	} 	/** 	 * 	方式二:对方式一的迭代,在如下的程序中不会出现第三方的API,使得程序具有可移植性 	 */ 	@Test 	public void connectionTest2() throws Exception { 		//1、获得Driver的实现类的对象,通过反射 		Class clazz = Class.forName("com.mysql.cj.jdbc.Driver"); 		Driver driver = (Driver) clazz.newInstance(); 		 		//2、通过要连接的数据库 		String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT"; 		 		//3、提供连接需要的用户和密码 		Properties info = new Properties(); 		info.setProperty("user", "root"); 		info.setProperty("password", "123456"); 		 		//4、获得连接 		Connection connect = driver.connect(url, info); 		System.out.println(connect); 		 	} 	/** 	 * 	方式三:使用  DriverManager 替换 Driver 	 */ 	@Test 	public void connectionTest3() throws Exception { 		 		Class clazz = Class.forName("com.mysql.cj.jdbc.Driver"); 		Driver driver = (Driver) clazz.newInstance(); 		 		String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT"; 		String user = "root"; 		String password = "123456"; 		//注册驱动 		DriverManager.registerDriver(driver); 		//获取连接 		Connection connection = DriverManager.getConnection(url, user, password); 		System.out.println(connection); 	} 	/** 	 * 	方式四:由于Driver在编译时就提供静态代码块实现了注册驱动 	 */ 	@Test 	public void connectionTest4() throws Exception { 		 		Class.forName("com.mysql.cj.jdbc.Driver"); 		 		String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT"; 		String user = "root"; 		String password = "123456"; 		/** 		static { 		        try { 		            java.sql.DriverManager.registerDriver(new Driver()); 		        } catch (SQLException E) { 		            throw new RuntimeException("Can't register driver!"); 		        } 		    } 		 */ 		Connection connection = DriverManager.getConnection(url, user, password); 		System.out.println(connection); 	} 	/** 	 * 	方式五:最终版。 	 * 	好处:达到了数据与程序的解耦。利于后期的修改 	 */ 	@Test 	public void connectionTest5() throws Exception { 		InputStream is = ConnectionTest.class.getClassLoader().getResourceAsStream("db.properties"); 		 		Properties properties = new Properties(); 		properties.load(is); 		 		String url = properties.getProperty("url"); 		String user = properties.getProperty("user"); 		String password = properties.getProperty("password"); 		String classDriver = properties.getProperty("classDriver"); 		 		Class.forName(classDriver); 		Connection connection = DriverManager.getConnection(url, user, password); 		System.out.println(connection); 		 	} 	 }  

配置文件(db.properties)

url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT user=root password=123456 classDriver=com.mysql.cj.jdbc.Driver 

本文转自互联网,侵权联系删除JDBC简介及连接MySQL数据库Code

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » JDBC简介及连接MySQL数据库Code
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们