JDBC 基本语法总结
实现JDBC操作: 静态SQL执行
① 注册驱动
Class.forName("com.mysql.jdbc.Driver");
② 创建连接
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/需要连接的数据库名","用户名","密码");
③ 得到执行sql语句的对象
Statement st = con.createStatement();
④ 执行sql语句,并返回结果
st.executeUpdate("增删改sql语句");
或 ResultSet rs = st.executeQuery("查询sql语句");
⑤ 处理结果
while (rs.next()){ System.out.println(rs.getObject(列));}
⑥ 关闭资源
rs.close();
st.close();
con.close();
实现JDBC操作: 静态批处理
① 注册驱动
Class.forName("com.mysql.jdbc.Driver");
② 创建连接
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/需要连接的数据库名","用户名","密码");
③ 得到执行sql语句的对象
Statement st = con.createStatement();
④ 执行sql语句,并返回结果
st.addBatch("增删改sql语句1");
st.addBatch("增删改sql语句2");
int[] arr = st.executeBatch(); ...
⑤ 处理结果
System.out.println("更新的行数"+arr.length);
⑥ 关闭资源
st.close();
con.close();
实现JDBC操作: 动态SQL执行
① 注册驱动
Class.forName("com.mysql.jdbc.Driver");
② 创建连接
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/需要连接的数据库名","用户名","密码");
③ 得到执行sql语句的对象
PreparedStatement prs = con.prepareStatement("sql语句");
prs.setObject(占位符索引,值); ...
④ 执行sql语句,并返回结果
prs.executeUpdate();
或 ResultSet rs = prs.executeQuery();
⑤ 处理结果
while (rs.next()){ System.out.println(rs.getObject(列));}
⑥ 关闭资源
rs.close();
prs.close();
con.close();
实现JDBC操作: 动态批处理
① 注册驱动
Class.forName("com.mysql.jdbc.Driver");
② 创建连接
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/需要连接的数据库名","用户名","密码");
③ 得到执行sql语句的对象
PreparedStatement prs = con.prepareStatement("sql语句");
④ 执行sql语句,并返回结果
prs.setObject(占位符索引,值); ...
prs.addBatch();
prs.setObject(占位符索引,值); ...
prs.addBatch(); ...
int[] arr = st.executeBatch(); ...
⑤ 处理结果
System.out.println("更新的行数"+arr.length);
⑥ 关闭资源
prs.close();
con.close();
实现JDBC操作: 调用存储过程
① 注册驱动
Class.forName("com.mysql.jdbc.Driver");
② 创建连接
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/需要连接的数据库名","用户名","密码");
③ 得到执行sql语句的对象
CallableStatement cs = con.prepareCall("调用存储过程的sql语句");
④ 执行sql语句,并返回结果
cs.setObject(占位符索引,值); ...
或 cs.registerOutParameter(占位符索引,Types.输出参数类型);
⑤ 处理结果
cs.getObject("输出参数名"或 占位符索引);
⑥ 关闭资源
cs.close();
con.close();
JDBC 基本语法总结的更多相关文章
- JDBC SQL语法
结构化查询语言(SQL)是一种标准化语言,允许对数据库执行操作,例如:创建数据记录,读取内容,更新内容和删除数据记录等. 本教程中将概述SQL,这是了解和学习JDBC概念的前提条件. 经过本章后,您将 ...
- jdbc调用存储过程获取多个结果集
jdbc调用存储过程获取多个结果集 2017年07月26日 21:20:22 Kenny-Liu 阅读数:1486 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- jdbc知识点(连接mysql)
jdbc连接mysql 1.JDBC简介 JDBC: 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库.从根本上来说,JDBC ...
- 使用JDBC CallableStatements执行存储过程
Using JDBC CallableStatements to Execute Stored Procedures Connector / J完全实现了 java.sql.CallableState ...
- Effective java笔记(二),所有对象的通用方法
Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...
- JavaWeb高性能开发(一)
今日要闻: 淘宝删差评产业链 在你给出"差评""中评"后不久,有人会偷偷登录你的淘宝账户,把你之前给过的评价删除或改成"好评".而这种人就是 ...
- Java中Connection方法笔记
http://www.apihome.cn/api/java/Connection.html public interface Connectionextends Wrapper 与特定数据库的连接( ...
- Java反射机制Reflection
Java反射机制 1 .class文件 2 Class类 3 Class类与反射机制 4 Java反射机制的类库支持及简介 5 反射机制的定义与应用 6 反射机制Demo Java反射机制demo(一 ...
- java.sql.Timestamp类型
如果想向数据库中插入日期时间的话,可以用java.sql.Timestamp类 一个与 java.util.Date类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识 ...
随机推荐
- Sequence( 分块+矩阵快速幂 )
题目链接 #include<bits/stdc++.h> using namespace std; #define e exp(1) #define pi acos(-1) #define ...
- C++ | char* 在类中实践笔记
在C++中,当类中定义有char * 变量时,在传参,构造函数,复制构造函数如何创建及赋值,来一个简单的例子就明了: #include<iostream> #include<stri ...
- screen命令常用参数使用
screen简要说明 screen 会话命令可以保持本地和服务器断开后,程序继续在服务器上运行,并且运行结束后,输出最后的结果.功能结果相当于 nohup command &,但是功能远比no ...
- linux目录权限
linux中,有三种不同类型的用户可以对文件或目录进行访问:文件所有者,同组用户,其他用户.所有者一般是文件的创建者,文件所有者自动拥有对该文件的读.写和可执行权限.所有者能允许同组用户有权访问文件, ...
- map系统学习
映射map又称字典,表,或者查找表,其元素是由key和value两个分量组成的对偶(key,value). key是键,value是与键key相关联的映射值,这样的元素又称“关联”.key和value ...
- 为什么我们使用Nginx而不是Apache?
我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP.鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM. A ...
- Python3基础(1)Python介绍、Python2 与Python3、变量、用户输入、if...else和for循环、while循环、break与continue
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ P ...
- input累加赋值
需求如下:第一个input添加字符到第二个input,第二个input需要累加. html: <tr> <td rowspan="2" class="D ...
- Vue系列:关于侵权前言
因为一开始学习 Vue 的时候,秉持的是"好记性不如烂笔头"的思想,所以这些知识点都是当时查阅然后选择性摘录下来的. 当时并没有很刻意去记录原文出处(现在我知错了..),所以..如 ...
- Android 桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
首先是一个小的悬浮窗显示的是当前使用了百分之多少的内存,点击一下小悬浮窗,就会弹出一个大的悬浮窗,可以一键加速.好,我们现在就来模拟实现一下类似的效果. 先谈一下基本的实现原理,这种桌面悬浮窗的效果很 ...