JDBC学习(二、操作JDBC步骤,及相关API)
一、操作JDBC的准备
1.拷贝MySQL的驱动包到项目中的lib目录下:mysql-connector-java-5.1.x-bin.jar
2.build path,告诉项目去哪里去找字节码文件。
操作JDBC的第一步,获取JDBC的连接对象:Connection.
步骤1: 加载注册驱动.
Class.forName(“com.mysql.jdbc.Driver”);
为什么说这行代码就在完成加载注册驱动的操作。
1):把com.mysql.jdbc.Driver这份字节码文件加载进JVM。
2):把字节码加载进JVM之后,就会立刻执行该类的静态代码块。
步骤2: 获取连接对象,通过DriverManager的静态方法(getConnection).
Connection conn = DriverManager.getConnection (String url,String username,String password);
参数:
url : jdbc:mysql://数据库服务器安装电脑的主机IP:端口/哪一个数据库名称
连接本机: jdbc:mysql://localhost:3306/test
如果连接的数据库服务器在本机,并且端口是3306,则可以简写:
jdbc:mysql:///test
username: 所连接数据库服务器的用户账号(root)
password: 所连接数据库服务器的用户密码(admin)
验证已经获取连接:可以在MySQL控制台,使用命令:show processlist; 查看MySQL运行进程,也可以在JAVA中输出连接对象查看。
-----------------------------------------------------------------------------------------------------
从Java6(JDBC4.0)开始,可以不再加载注册驱动,直接通过DriverManager获取连接对象。
为啥不再需要加载注册驱动了?
从Java6开始,规范要求每一个JDBC驱动的包,都必须带有META-INF/services/java.sql.Driver文件。
开发建议:依然还是建议手动的加载注册驱动. 如此,可以兼容之前的JDK版本,在JavaWeb中必须手动加载。
二、JDBC相关的API
1.操作JDBC的步骤(贾琏欲执事):
----------------------------------
1):加载注册驱动.
2):获取连接对象.
3):创建/获取语句对象
4):执行SQL语句
5):释放资源
2.Connection接口的常用方法
Statement createStatement() 创建一个 Statement 对象来将 SQL 语句发送到数据库。
PreparedStatement prepareStatement(String sql) :获取预编译语句对象。
参数:sql,并不是一个静态SQL,而是带有占位符的SQL(?).
void close():关闭连接对象
3.Statement接口的常用方法
用于执行静态 SQL (写死的SQL,可以执行运行的SQL)语句并返回它所生成结果的对象。
int executeUpdate(String sql):可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数。
ResultSet executeQuery(String sql) :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
void close():关闭语句对象
4.PreparedStatement接口的常用方法
是Statement的子接口,表示预编译的 SQL 语句的对象,设置占位符参数(告诉SQL中的?到底表示哪一个值):
void setXxx(int parameterIndex, Xxx value): xxx表示数据类型,比如:String,int,Long等,parameterIndex:设置第几个占位符?(从1开始),value:需要设置的参数值。
int executeUpdate():可以执行DML(增删改)和DDL语句,如果是执行DDL什么都不返回,执行DML返回受影响的行数.
ResultSet executeQuery() :执行给定的 DQL语句,该语句执行之后返回一个 ResultSet 对象。
注意:此时不需要传递SQL参数
void close():关闭语句对象。
5.ResultSet接口的常用方法
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成.
ResultSet 对象具有指向其当前数据行的光标。最初,光标被置于第一行之前。next 方法将光标移动到下一行;因为该方法在 ResultSet 对象没有下一行时返回 false,所以可以在 while 循环中使用它来迭代结果集。(类似迭代器操作)
-------------------------------------------------------------------------------------
boolean next(): 先判断光标是否能向下移动,如果可以,则往下移动。
xxx:表示数据类型,比如:int,long,String等,根据当前列的数据类型来选择。
xxx getXxx(int columnIndex) : 获取当前光标行的第N列的数据,从1开始计算。
xxx getXxx(String columnName) :获取当前光标行的指定列名的列的数据,推荐。
void close():关闭结果集对象
JDBC学习(二、操作JDBC步骤,及相关API)相关推荐
- JDBC学习笔记之JDBC简介
1. 引言 JDBC API是一种Java API,可以访问任何类型的表格数据,特别是存储在关系数据库中的数据. JDBC可以帮助我们编写下列三种编程活动的java应用程序: 1.连接到数据源,如数据 ...
- (Spring程序开发)简介程序开发步骤配置文件相关API
1Spring简介 1.1 Spring是什么 Spring是分层的Java SE/EE应用full-stack 轻量级开源框架, 以IoC(Inverse Of Control:反转控制) 和**A ...
- 学习笔记——经纬度坐标系及定位相关API
一.经纬度坐标系 WGS84坐标系:即地球坐标系,国际上通用的坐标系. GCJ02坐标系:即火星坐标系,WGS84坐标系经加密后的坐标系. BD09坐标系:即百度坐标系,GCJ02坐标系经加密后的坐标 ...
- linux 进程(二) --- 进程的创建及相关api
一.进程的创建fork()函数 由fork创建的新进程被称为子进程(child process).该函数被调用一次,但返回两次.两次返回的区别是子进程的返回值是0,而父进程的返回值则是 新子进程的进程 ...
- 小汤学编程之JDBC(一)——JDBC概述和快速入门
一.JDBC概述 1.概念 2.作用 二.JDBC快速入门 1.实现步骤 2.查询数据和操作数据 3.SQL注入 4.事务管理 5.Statement与Prep ...
- JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD
JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...
- Spring Boot操作数据库学习之整合JDBC
文章目录 一 Spring Data简介 二 Spring Boot集成JDBC 2.1 项目创建步骤 2.2 测试的SQL脚本 2.3 编写yaml配置文件连接数据库 2.4 IDEA连接数据库步骤 ...
- JDBC及操作数据库步骤
概念 JDBC-数据库连接,是由一些类和接口构成的API,是J2SE的一部分,有java.sql.javax.sql包组成.下面看一下JDBC API与应用程序和数据库驱动及数据库之间的关系: 可以看 ...
- JDBC 学习笔记 day02 用 PreparedStatement 实现 CRUD 操作
JDBC 学习笔记 day02 PreparedStatement 相比于 Statement 的好处 PreparedStatement 实现 增,删,改 操作 PreparedStatement ...
- java resultset查询_Java -- JDBC 学习--通过 ResultSet 执行查询操作
voidtestResultSet(){//获取 id=4 的 customers 数据表的记录, 并打印 Connection conn= null; Statement statement= nu ...
最新文章
- 2020年中国新基建产业报告(收藏)
- python中文意思k-Python中_,__,__xx__的区别
- Maven快速创建SpringMVC web(1)
- oracle分段分组函数,Oracle增强型分组函数
- android 音频设备类型,实现车载音频 HAL | Android 开源项目 | Android Open Source Project...
- easyclick联众打码
- python 模拟鼠标键盘_如何用 python 模拟鼠标和键盘的操作
- 10种方式卸掉感情垃圾
- 山东新高考604分怎么报计算机专业,山东2017高考604分适合报考哪些211学校
- Ps制作食物网站展示
- 随机算法求pi、线性同余法求random、拉斯维加斯算法python
- 是不是每个软件测试人员都有一份跟我差不多的心酸历程?
- 语言模型(马尔可夫模型,n元语法)
- >>技术开发:轻量级BI工具Superset
- 计算机更换硬盘键盘鼠标不好使,电脑键盘和主板不兼容解决方法
- DOM JDOM DOM4J
- Android无障碍服务开发
- STM32—OLED显示屏
- 【IEEE出版】工业自动化,机器人与控制工程国际会议(IARCE 2022)
- 2022年全球与中国光通信芯片市场现状及未来发展趋势
热门文章
- JVM学习笔记 -- 从一段几乎所有人代码都会犯错的代码开始
- 笔记:MapReduce Design Patterns
- jQuery选择器--总结
- dotCMS学习记录--结构
- C语言程序设计 授课日历 2010年春季
- 用ASP.NET MVC自己管理自己的View:ASP.NET MVC File Management 【转】
- 河南计算机基础知识会考,2011河南事业单位备考计算机基础知识试题(含答案 )...
- 释放tcp连接的命令是_TCP协议详解
- 【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
- 字符串s长度为偶数python_Python实现读取字符串按列分配后按行输出示例