一、JDBC 常用 API

1、Connection 接口方法名称功能描述

getMetaData()该方法用于返回数据库的元数据的 DatabaseMetaData 对象

createStatement用于创建一个 Statement 对象来将 SQL 语句发送到数据库

preparedStatement(String sql)用于创建一个 PreparedStatement 对象来将参数化的SQL语句发送到数据库

prepareCall(String sql)用于创建一个 CallableStatement 对象来调用数据库存储过程

2、Statement 接口方法名称功能描述

boolean execute(String sql)用于执行各种 SQL 语句,该方法返回一个 boolean 类型的值。如果为 true,表示所执行的 SQL 语句具备查询结果,可通过 Statement 的getResultSet() 方法查询结果

int executeUpdate(String sql)用于执行 SQL 中的 insert、update 和 delete 语句,该方法返回一个 int 类型的值,表示影响数据库中的行数

ResultSet executeQuery(String sql)用于执行 SQL 中的 select 语句(查询,遍历),该方法返回一个表示查询结果的 ResultSet 对象

execute是executeQuery和executeUpdate的综合.

通常我们没有必要使用execute方法来执行SQL语句,而是使用 executeQuery 或 executeUpdate 更适合。

3、PreparedStatement 接口方法名称功能描述

executeUpdate()在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 DML 语句,或者无返回内容的 SQL 语句,比如 DDL 语句

executeQuery()在此 PreparedStatement 对象中执行 SQL 语句,该方法返回的是 ResultSet 对象

setInt(int parameterIndex, int x)将指定的参数设置为 int 值

setFloat(int parameterIndex, float x)将指定的参数设置为 Float 值

setString(int parameterIndex, String x)将指定参数设置的给定的 Date 值

setDate(int parameterIndex, Date x)将指定参数设置给定的 Date 值

addBatch()将一组参数添加到此 PreparedStatement 对象的批处理命令中

setCharacterStream(parameterIndex, reader, length)将指定的输入流写入数据库的文本字段

setBinaryStream(parameterIndex, x, length)将二进制的输入流数据写入到二进制的字段中

DML 语句:SELECT、UPDATE、INSERT、DELETE

DLL 语句:CREATE DROP ALERT

4、ResultSet 接口getString(int columnIndex)用于获取 指定字段的 String 类型的值,参数 columnIndex 代表字段的索引

getString(String columnName)用于获取指定字段的 String 类型的值,参数 columnIndex 代表字段名称

getInt(int columnIndex)用于获取指定字段的 int 类型的值,参数 columnIndex 代表字段的索引

getInt(String columnName)用于获取指定字段的 int 类型的值,参数 columnIndex 代表字段名称

getDate(int columnIndex)用于获取指定字段的 Date类型的值,参数 columnIndex 代表字段索引

getDate(String columnName)用于获取指定字段的 Date类型的值,参数 columnIndex 代表字段名称

next()将游标从当前位置移到下一位置

absolute(int row)将游标移到此 ResultSet 对象的指定行

afterLast()将游标移动到此 ResultSet 对象的末尾,即最后一行之后

beforeFirst()将游标移动到此 ResultSet 对象开头,即第一行之前

previous()将游标移动到此 ResultSet 对象的上一行

last()将游标移动到此  Result 对象的最后一行

二、案例

1、往数据库里添加数据

① 数据表结构如下

② 代码如下

packagecom.liuyanzhao;

importjava.sql.Connection;

importjava.sql.Date;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.SQLException;

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

/*

* @author LiuYanzhao

*/

publicclassDemo1 {

privatestaticfinalString URL ="jdbc:mysql://127.0.0.1:3306/jdbc_study?useUnicode=true&characterEncoding=utf8";

privatestaticfinalString USER ="root";

privatestaticfinalString PASSWORD ="";

publicstaticConnection conn =null;

publicstaticvoidmain(String[] args)throwsClassNotFoundException, SQLException, ParseException {

//1、加载驱动,需要提前把 jar 包添加到 classpath 中

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

//2、创建应用程序与数据库连接的 Connection 对象

conn = DriverManager.getConnection(URL, USER, PASSWORD);

//3、要执行的 sql 语句:name,password,email,status通过占位符填数,create_date 自动为当前时间

String sql = " INSERT INTO users"+

"(name,password,birthday,email,create_date,status) "+

"VALUES("+

"?,?,?,?,current_date(),?)";

//4、创建执行 SQL 语句的 PreparedStatement 对象

PreparedStatement ptmt = conn.prepareStatement(sql);

ptmt.setString(1,"小美");

ptmt.setString(2,"123456");

ptmt.setDate(3,newDate((newSimpleDateFormat("yyyy-MM-dd").parse("2011-10-1")).getTime()) );

ptmt.setString(4,"xiaomei@126.com");

ptmt.setInt(5,1);

//5、真正执行 sql 语句,并返回影响的行数

intx = ptmt.executeUpdate();

System.out.println("影响行数:"+ x);//返回1

}

}

③运行结果

上面的操作,将在 jdbc_study 数据库的 users 表中添加一条记录,终端显示 1

2、查询(打印)数据库信息

①数据表如下

②代码如下

packagecom.liuyanzhao;

importjava.sql.Connection;

importjava.sql.Date;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

/*

* @author LiuYanzhao

*/

publicclassDemo2 {

privatestaticfinalString URL ="jdbc:mysql://127.0.0.1:3306/jdbc_study?useUnicode=true&characterEncoding=utf8";

privatestaticfinalString USER ="root";

privatestaticfinalString PASSWORD ="";

publicstaticConnection conn =null;

publicstaticvoidmain(String[] args)throwsClassNotFoundException, SQLException, ParseException {

//1、加载驱动,需要提前把 jar 包添加到 classpath 中

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

//2、创建应用程序与数据库连接的 Connection 对象

conn = DriverManager.getConnection(URL, USER, PASSWORD);

//3、要执行的 sql 语句:name,password,email,satic 通过占位符填数,create_date 自动为当前时间

String sql = " SELECT * FROM users";

//4、创建执行 SQL 语句的 PreparedStatement 对象

PreparedStatement ptmt = conn.prepareStatement(sql);

//5、真正执行 sql 语句,并返回影响的 ResultSet

ResultSet rs = ptmt.executeQuery();

//6、打印 ResultSet 数据集

while(rs.next()) {

System.out.print(rs.getInt("id")+" ");

System.out.print(rs.getString("name")+" ");

System.out.print(rs.getString("password")+" ");

System.out.print(rs.getDate("birthday")+" ");

System.out.print(rs.getString("email")+" ");

System.out.print(rs.getDate("create_date")+" ");

System.out.print(rs.getInt("status")+" ");

System.out.println();

}

}

}

③ 运行结果

控制台上可以看到如下界面

jdbc mysql api_JDBC常用API和使用相关推荐

  1. jdbc mysql api_JDBC Api详解

    一.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  2. JDBC常用API小结

    建立数据库链接的三种方式: package com.victor_01;import java.sql.Connection; import java.sql.Driver; import java. ...

  3. jdbc mysql api_JDBC---一种用于执行SQL的Java API

    JDBC是一种用于执行SQL的Java API,它本身是个商标名,但很多人把它认为是Java Database Connectivity(Java 数据库连接)的缩写. JDBC是一组访问数据库的AP ...

  4. jdbc mysql 源码_【JDBC系列】从源码角度理解JDBC和Mysql的预编译特性

    背景 最近因为工作调整的关系,都在和数据库打交道,增加了许多和JDBC亲密接触的机会,其实我们用的是Mybatis啦.知其然,知其所以然,是我们工程师童鞋们应该追求的事情,能够帮助你更好的理解这个技术 ...

  5. jdbc mysql url写法_MySQL第04篇:JDBC

    核心概述:在实际开发中,我们需要通过Java程序来操作数据库,此时Java给我们提供了Java访问数据库的标准规范就是JDBC,我们可以通过调用JDBC接口中的方法实现操作数据库. 第一章:JDBC快 ...

  6. JDBC+MySQL入门增删改查案例

    目录 前言 案例分析 核心思路拆解 案例涉及知识点 第一关 创建数据库和项目 创建数据库 创建项目 第二关 JDBC插入和查询 预备工作 单个插入 批量插入 查询数据 JDBC修改和删除 修改数据 删 ...

  7. JDBC - MySQL

    目录 1. 概念 1.1 介绍 1.2组成 1.3 数据库访问模型 2. JDBC连接数据库 2.1 步骤 2.2 导入JDBC驱动 2.3 注册驱动程序 2.4 指定数据库连接URL 2.5 创建连 ...

  8. Java | Java常用API方法总结

    Java常用API方法总结 常用API JavaAPI 1 java.lang String StringBuilder Integer parseXxx Math Object System Thr ...

  9. jdbc mysql ppt,JAVAWEB数据库访问ppt课件.ppt-资源下载人人文库网

    JAVA WEB数据库访问ppt课件.ppt 数据库访问 夏汛 泸职院信息工程系 学习目标 能够使用JDBC访问数据库 JDBC驱动程序的类型 JDBC ODBC桥 访问access 只能通过JDBC ...

最新文章

  1. 使用K.function()调试keras
  2. java JVM虚拟机
  3. Flask的闪现(message) 请求扩展 中间件 蓝图
  4. 为什么说数据中心是5G最大的受益者?
  5. struts2中dtd失效,代码不提示问题
  6. 计算机硬盘无法查找文件,硬盘系统中的文件搜索技巧整理
  7. WPF之DataTemplate(转)
  8. Python:使用ctypes库调用外部DLL
  9. 如何格式化用过的磁带,让他被新磁带机重复利用
  10. [wp7游戏]wp7~~~连连看 游戏~~集合贴~~
  11. MATLAB画图调整分辨率
  12. java 位掩码_奇怪的知识——位掩码
  13. angular路由守卫
  14. 【华人学者风采】麦立强 武汉理工大学
  15. 字符串流stringstream--<sstream>
  16. sparql查询mysql_SPARQL查询以检索所有对象和属性
  17. 针对17joys控制器的扩展
  18. IOS 应用内打开三方地图app直接导航(高德坐标)
  19. 《Go语言圣经》学习笔记 第七章 接口
  20. Django REST framework(五)-http请求与响应

热门文章

  1. 关于微信拉票的js代码
  2. NXP发布了一个带有RISC-V内核的芯片
  3. 年薪20-65W|瓦特曼3D感知、图像、机器人、无人机算法工程师等岗位招聘
  4. [Android测试] AS+Appium+Java+Win 自动化测试之九:PO模式的实例与ReportNg测试报告
  5. 最新袋鼠投资学习版源码+带计跑步功能/早起打卡功能
  6. post 返回代码_再借你一双慧眼,识别强大的代码安全审计工具
  7. 从装机体验消费类软件市场
  8. 1399元起!荣耀9X发布:全系搭载7nm麒麟810,升降全面屏,主流手游满帧体验
  9. 基于MATLAB的图像处理技术
  10. Apple Motion 5.4.3 中文特别版 Mac 苹果出品的FCPX动画制作软件