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

JDBC的简单介绍及使用

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

JDBC的简单介绍及使用

一、JDBC的简介 1. Java中的数据存储技术
  • 在Java中,数据库存取技术分为以下几类
    • JDBC直接访问数据库
    • JDO (Java Data Object )技术
    • 第三方O/R工具,如Hibernate, Mybatis 等
  • JDBC是Java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC
2. JDBC(Java Database Connectivity)的介绍
  • JDBC是sun公司提供一套用于对数据库操作的接口,Java程序员只需要面向这套接口编程即可
  • JDBC接口包括两个层次
    • 面向应用:Java API,供程序员使用,为访问不同的数据库提供了一种统一的途径,为开发者屏蔽了细节问题
    • 面向数据库:Java Driver API,供数据库开发商使用,不同的数据库厂商,需要针对这套接口,提供不同实现
二、Driver接口和DriverManager类 1. Driver接口
  • 这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现
  • 是所有 JDBC 驱动程序需要实现的接口
  • 提供用来注册、连接基于 JDBC驱动程序的 API
  • 使用JDBC时,需要实例化该类,以加载驱动
2. DriverManager类
  • DriverManager 类是驱动程序管理器类,负责管理驱动程序,建立与驱动程序的连接
  • 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现
  • 通过该类可以注册驱动
  • public static Connection getConnection(String url, java.util.Properties info)
  • public static Connection getConnection(String url, String user, String password)
三、程序员使用JDBC的步骤 1. 导入驱动jar包

mysql-connector-java-5.1.37-bin.jar

2. 加载驱动
  • 实例化Driver类
  • 通过反射的技术:Class.forName(“com.mysql.jdbc.Driver”)
3. 注册驱动
  • 加载驱动时会自动的注册驱动
  • 但是为了代码的健壮性,经常使用DriverManager.registerDriver(com.mysql.jdbc.Driver)注册驱动
// 因为在mysql的Driver类中有如下声明,所以加载驱动时会自动的注册驱动

static {
	try {
		DriverManager.registerDriver(new Driver());
	} catch (SQLException var1) {
		throw new RuntimeException("Can't register driver!");
	}
}
4. 获取Connection对象

涉及到的类:Connection类的使用
获取Connection对象的方法:创建Connection对象

  • 通过驱动管理器:DriverManager.getConnection()
  • 三要素:用户名、密码、url
  • JDBC URL 的说明
    • JDBC URL 用于标识一个被注册的驱动程序
    • 驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。
    • JDBC URL 由三部分组成,【jdbc 子协议 子名称】
      • 协议:JDBC URL中的协议总是jdbc
      • 子协议:子协议用于标识一个数据库驱动程序
      • 子名称:一种标识数据库的方法。
        • 子名称可以依不同的子协议而变化
        • 用子名称的目的是为了定位数据库提供足够的信息
        • 包含主机名(对应服务端的ip地址),端口号,数据库名
    • MySQL的url编写方式:
      • jdbc:mysql://主机名称:mysql服务端口号/数据库名称?参数1=值1&参数2=值2
      • jdbc:mysql://localhost:3306/atguigu?useUnicode=true&characterEncoding=utf8
        • jdbc:协议
        • mysql:子协议
        • localhost:3306/atguigu?useUnicode=true&characterEncoding=utf8:子名称
      • JDBC程序与服务器端的字符集不一致,会导致乱码,可以通过参数指定服务器端的字符集
5. 创建Statement对象

涉及到的Java类:PreparedStatement

6. 执行SQL语句 7. 对SQL语句执行结果的处理

涉及到的Java类:ResultSet、ResultSetmetaData

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

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

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