JDBC概述和获取连接

我们一直利用第三方的客户端类似Navicat或者自带的命令行进行对数据库的访问和修改,而数据库的使用远不止如此,我们可以在JAVA程序中对数据库进行操作,Java Database Connectivity :JDBC (java 数据库连接)就是JAVA语言来执行SQL语句的API。


JDBC

 由来

数据库的种类多种多样,我们不可能通过编写JAVA程序来完成对所有数据库的解析和增删改查操作,在JAVA语言开发初期,SUN公司为了让JAVA程序员能够进行对各种数据库的连接和使用进行过研发,但是因为数据库的更新和各个版本的兼容性,并没有开发出来一个通用的类似转接器的能够连接JAVA程序和各种数据库的中间间技术,但是后来SUN公司定义了一个接口,具体的实现类由各大厂商自己来实现,而这个具体的实现类就充当了专属各个厂商与JAVA程序之间连接的驱动,JAVA程序员只要会使用接口里的方法,就可以进行连接和使用各种的数据库。而这个连接的过程,就是JDBC  java数据库连接。

优点

  • 程序员只要会使用接口中的方法就可以了,学习和操作比较简单。
  • 使用同一套JAVA代码进行少量修改就可以访问JDBC支持的数据库。

JDBC会用到的包

  • java.sql:JDBC访问数据库的基础包
  • javax.sql: JDBC访问数据库的扩展包
  • 数据库的驱动,各大数据库厂商来实现。如:MySQL的驱动:com.mysql.jdbc.Driver

JDBC四个核心对象 

这几个类都是在java.sql包中

  • DriverManager: 用于注册驱动
  • Connection: 表示与数据库创建的连接
  • Statement: 执行SQL语句的对象
  • ResultSet: 结果集

                                                          


获取连接

(1)添加jar包

这个jar包就是我们上面说的驱动,这里我们添加mysql的驱动

(2)都在注释里了。

import java.sql.Connection;
import java.sql.DriverManager;

public class JdbcCollect {
	public static void main(String[] args) {
		try {
			
			/*
			 * 1.加载驱动
			 * Class类调用静态方法forname本里应该是返回一个Class类的对象,但是这里不用
			 * 里面传入的驱动已经包含了创建对象的语句,所以这里只要加载驱动就行了
			 * 这个驱动是在导入的jar包中,可以打开jar包查看
			 * */
			Class.forName("com.mysql.jdbc.Driver");
			
			/*
			 * 2.获取连接
			 * 这里就是固定的调用DriverManager中的静态方法getConnection
			 * 里面的参数分为三部分,第一部分,url说明数据库的地址,第二部分是用户名,第三部分密码
			 * 协议:主协议://主机:端口/数据库
			 * 第一部分url:里面的冒号可以联想到计算机网络中的协议,这里也是一种协议
			 * jdbc协议:MySQL协议://IP地址,如果只访问本机数据库也可以不写,也可以想下面写的那样
			 * :端口号,3306一般为操作系统为数据库留的端口号,后面的接上要访问的数据库
			 *  如果出现乱码的话可以在数据库后面加上:?useUnicode=true&characterEncoding=utf8
			 * */
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbjdbc","root","yht");
			
			System.out.println(conn);
			
			//因为可能有加载不到驱动和找不到数据库的可能,所以这里需要捕获异常
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

到这里我们就算是和数据库连接上了,如果成功,会返回一个conn对象的地址。如果不成功则会报错。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值