JDBC介绍

1.1 JDBC概述

JDBC(Java Database Connectivity)Java数据库互联技术

JDBC技术是Java提供的用于操作关系型数据库的一套规范,这套规范提供了标准API用于操作实现了这套规范的数据库管理系统。

1.2 JDBC标准API

JDBC标签API基本都是在java.sql包下,其中最主要的几个接口:

API用途
java.sql.DriverManager类驱动管理器,用于构建数据库连接对象
java.sql.Connection 接口建立与数据库连接的抽象方法
java.sql.Statement接口用于与数据库进行SQL交互
java.sql.PreparedStatement接口是Statement接口的子接口,用于与数据库进行SQL交互,可以进预编译SQL语句
java.sql.ResultSet接口代表查询操作返回的结果集

1.3 JDBC操作MySQL数据库的步骤

1.3.1 导入数据库驱动并构建classpath路径

创建Java程序,在工程目录下创建lib目标,这个目录主要用于存放第三方Jar包,这个目标必须添加的类路径下,因为所有的类的字节码文件需要在类路径下才能被加载器加载到内存中,才能被程序使用。

1.3.2 在程序中加载MySQL加驱动类

com.mysql.jdbc.Driver类就是MySQL核心驱动类

Class.forName("com.mysql.jdbc.Driver");

1.3.3 建立数据库连接

使用JDBC提供的标准API : DriverManager驱动管理器类用于创建与数据库进行连接的对象

Connection DriverManager.getConnection(url, username, password);

根据指定的数据库服务访问路径,用户名, 密码来获取一个实现了Connection接口的实现对象(不需要关注), 这个实现对象肯定实现了Connection接口中的所有抽象方法,所以Java程序只需要面向接口编程即可。

url的格式 : jdbc:mysql://ip地址:端口号/数据库名称

1.3.4 获取表达式对象

该对象是用于向数据库发送SQL指令,以及获取数据库返回的响应结果

Statement 连接对象.createStatement();
这个Statement接口不建议使用,这个接口的方法在传递SQL语句是,数据以拼接方式拼接到SQL语句中,存在SQL注入问题,另外这个接口在发送SQL语句时,不会进行预编译,而是直接发送个MySQL服务进行解析和处理,影响MySQL数据的性能。
    
PreparedStatement对象 ,
    连接对象.prepareStatement(String sql):在构造这个对象时需要传入SQL语句,内部会对SQL语句进行预编译,并且数据不是以拼接的方式组织到SQL语句中,而是使用占位符的方式内部进行替换;然后将编译后的SQL语句再发送给MySQL服务,MySQL服务只需要执行执行指令即可,性能会高些

常用的方法

executeUpdate():

int executeUpdate(String sql) : 增、删、改的通用方法,返回值是受影响的函数 

executeQuery():

ResultSet executeQuery(String sql) : 查询方法,返回值是ResultSet接口的实现对象,这个对象代表了查询的结果集

这个ResultSet接口有一些对结果集进行操作

boolean next()方法 判断是否能遍历到下一行记录,如果能返回true,否则返回false
    
Xxx getXxx(索引|列名): 可以获取当前行指定索引或列表的数据
    		Xxx是Java的数据类型    
    		Java的数据类型需要和MySQL数据库中的类型对应
    		String          varchar char
    		int             int
    		double          double
    		Date            date

的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值