java JDBC入门及案例演示
概念
JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范。
JDBC与数据库驱动的关系:接口与实现的关系。
JDBC规范(掌握四个核心对象):
DriverManager:用于注册驱动
Connection: 表示与数据库创建的连接
Statement: 操作数据库sql语句的对象
ResultSet: 结果集或一张虚拟表
案例
import java.sql.*;
import java.util.Properties;//原生JDBC demo
public class JDBC_Demo {public static void main(String[] args) throws ClassNotFoundException, SQLException {//注册驱动Class.forName("com.mysql.jdbc.Driver");Properties properties = new Properties();properties.setProperty("user", "root");properties.setProperty("password", "123456");//创建连接对象,第一个参数数据库的url,第二个参数账号密码等Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2", properties);//创建一个Statement对象,用于将SQL语句发送到数据库Statement statement = connection.createStatement();String sql = "select empno,ename,job from emp";//执行给定的SQL语句,该语句返回一个ResultSet对象。//注意:不能在PreparedStatement或CallableStatement上调用此方法。ResultSet resultSet = statement.executeQuery(sql);while (resultSet.next()) {System.out.println(resultSet.getString("empno"));}}
}
方法解析
createStatement()
创建一个Statement对象,用于将SQL语句发送到数据库。 不带参数的SQL语句通常使用Statement对象执行。 如果多次执行同一条SQL语句,则使用PreparedStatement对象可能会更有效。
默认情况下,使用返回的Statement对象创建的结果集的类型为TYPE_FORWARD_ONLY,并发级别为CONCUR_READ_ONLY。 可以通过调用确定所创建结果集的可保存性.
resultSet.next()
将光标从当前位置向前移动一行。 ResultSet游标最初位于第一行之前; 对该方法的第一次调用next使第一行成为当前行; 第二个调用使第二行成为当前行,依此类推。
当对next方法的调用返回false时,光标将位于最后一行之后。 任何需要当前行的ResultSet方法的调用都会导致抛出SQLException。 如果结果集类型为TYPE_FORWARD_ONLY,则由供应商指定其JDBC驱动程序实现将返回false还是在后续对next的调用上引发SQLException。
如果为当前行打开了输入流,则对next方法的调用将隐式将其关闭。 读取新行时,将清除ResultSet对象的警告链。
总结
由于原生jdbc用起来比较繁琐,一般使用三方库进行简化,比如连接池C3P0库以及方便处理查询结果的DButils库.
java JDBC入门及案例演示相关推荐
- Java Web 网络商城案例演示五(用户激活)
Java Web 网络商城案例演示五(用户激活) 1.用户激活 2.登录 3.退出 4.抽取公共页面 5.查询所有分类 6.首页热门商品_最新商品显示 7.商品详情显示 8.基础分页操作 9.首页分类 ...
- Java Web 网络商城案例演示一、(环境搭建)
一.数据库建立 分析以及创建数据库 -- 创建数据库 drop database if exists `store_40`; create database `store_40`; -- 使用数据库 ...
- Java Web 网络商城案例演示十五 订单详情功能(提交订单支付界面)
订单详情功能(提交订单支付界面) 原理分析 步骤实现: 1.准备工作:order_list.jsp当中修改链接 提交当前订单编号 <a href="${pageContext.requ ...
- Java Web 网络商城案例演示十六 订单详情功能(支付功能的实现使用易付宝)
sValue.append(p3_Amt); // 交易币种 sValue.append(p4_Cur); // 商品名称 sValue.append(p5_Pid); // 商品种类 sValue. ...
- java jdbc jar包_大数据从入门到深入:JavaEE 之 数据库技术 JDBC(1)
1章 JDBC 1.1 JDBC概述 JDBC(Java DataBase Connectivity,java动态数据 库连接技术)是一种用于执行SQL语句的Java API : Applicatio ...
- JDBC入门案例及相关API概述
1 JDBC概念 问题:JDBC的本质是什么,解决了什么问题? 2.API讲解 <1> DriverManager的作用 问题:DriverManager有什么作用? 作用一:注册驱动 D ...
- 案例演示Python二维列表与Java二维数组
1.Python二维列表案例演示 运行程序,结果如下: 2.案例演示Java二维数组 package net.hw.test;/*** 功能:二维数组用法示例* 作者:华卫* 日期:2013年12月1 ...
- Java新手入门200例124之用JDBC连接Mysql数据库
文章目录 作者简介 引言 导航 热门专栏推荐 一.创建web项目 二.加入Mysql驱动 三.编写查询代码 四.测试查询代码 五.编写插入代码 六.编写修改代码 七.编写删除代码 小结 导航 热门专栏 ...
- VRTK基础入门案例演示
本章主要内容 本章节主要向读者介绍VRTK具体使用方法,如何在SteamVR之上使用VRTK,VRTK具体的应用以及好处都有哪些,会具体分析VRTK所提供给我们的基础应用场景,通过小的案例来进行实际操 ...
最新文章
- 2016年第七届蓝桥杯C/C++ A组国赛 —— 第三题:打靶
- 【WP 8.1开发】解决摄像头翻转问题(RuntimeApp篇)
- 使用Model-View-ViewModel使用Dart Streams使Flutter中的代码更清晰
- python 判断当前系统的Python编译器类型
- sap未分摊差异怎么处理_物料主数据价格控制及差异问题
- linux和Windows之间互传文件
- 正则表达式-验证带千分号的,带任意位小数的数字类型
- 推送后更改git commit消息(假设没有人从远程拉出)
- 游戏反编译工具dnSpy
- 内存碎片产生原因及解决方法
- 半导体上下游最核心供应商名单(建议收藏)
- 浙江大学计算机学院足球队,校三好杯 | 海洋学院足球队:再创佳绩
- 开源护眼工具LightBulb2.3.3汉化说明
- SSM框架练手项目【虎牙个人博客】手把手带你搭建自己的个人博客
- 【普及组_在线赛】班级聚会(reuntion)
- 安徽省计算机二级各部分分值分布,计算机二级各部分分值
- html 不出现水平滚动条,html – 不带滚动条的水平滚动
- 美国股市暴跌,中国路在何方
- 【c++入门(2)】关联容器map
- MATLAB App Designer入门实战(三)
热门文章
- Cloudflare配置网站免费CDN加速使用教程
- 学习pytorch的一些自己犯过的错误而总结的注意事项,估计其他也会使用
- Eclipse中查看JDK类库的源代码
- sum 去重_总结leetcode上【排列问题】【组合问题】【子集问题】回溯算法去重的两种写法!...
- 查看uboot变量地址_华为FIT AP通过Uboot切换FAT模式
- java requestparams_详解在Spring MVC中使用注解的方式校验RequestParams
- Linux实现删除撤回的方法。
- vue一个页面用两个以上页面 时时刷新
- 搜索c盘大文件_硬核干货,如何给c盘“减肥”?
- hive 安装_Hive安装部署及使用——1.2.1版本