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

JDBC是一组访问数据库的API集合,通过加载由数据库厂商所提供的驱动程序,可以与数据库建立连接。这样,就不必为访问不同的数据库而写不同的程序了,只需用一个JDBC API写一个程序就够了。而且是,JDBC技术对开发者屏蔽了一些细节问题,这样,程序员就不必去关心底层的实现技术了。另外,跟java一样,JDBC 对数据库的访问也具有平台无关性。

JDBC访问数据库的步骤:

1.注册并加载驱动程序:

驱动程序是数据厂商所提供的一个对外的接口来分辨所访问的是哪一种数据库.

我们可以调用Class.forName()显示地加载驱动程序.方法如下(以MySql为例):

Class.forName("org.gjt.mm.mysql.Driver");

Class.forName()是一个静态方法,用于指示Java虚拟机动态的查找,加载和链接指定类(如果尚未加载).如果无法找到这个类,则抛出ClassNotFountException.

2.创建连接:

数据库连接是使用DriverManager对象的静态方法getConnection()建立的,方法如下:

String url = "jdbc:mysql://127.0.0.1:3306/qq"; //127.0.0.1为连接地址,qq为数据库名

Connection conn = DriverManager.getConnection(url, "root", "root");

// "root", "root"为用户名和密码

3.创建SQL语句对象:

SQL语句对象主要是用来执行SQL语句的,当建立了连接以后,便可以由Statement对象将SQL语句发送到DBMS.对SELECT语句,可使用executeQuery();对于创建或修改表的语句,使用executeUpdate();方法如下:

Statement st = conn.createStatement();

4.提交SQL语句:

得到创建SQL语句对象后,我们就可以提交SQL语句了,方法如下:

a.查询数据:

ResultSet rs = st.executeQuery("select * from login"); //返回查询SQL语句所得到的ResultSet对象格式的结果集.

b.添加数据:

int i = st.executeUpdate( "insert into login values('zhang','123')");  //这个方法返回值是一个整数,代表的是影响数据的行数.

我们也可以用Statement的子接口PreparedStatement来实现提交,而PreparedStatement的子接口CallableStatement则用于执行SQL存储过程.

5.显示结果:

当执行查询语句时,SQL语句的执行结果存储在ResultSet对象中.我们可以使用Getxxx方法来检索数据.方法如下:

while(rs.next()){

String name = set.getString("name");

String password = set.getString("password");

}

如果发送的SQL语句不是查询语句,则这一步将省略.

6.关闭连接:

当完成数据库操作后,需要将连接关闭.因为数据库连接需要消耗系统资源.一旦不需要使用的时候,就应该释放出来.这是程序员必须养成的良好的习惯.在关闭连接时,正确的顺序是:Result,Statement,Connection.语法如下:

rs.close();

st.cloe();

conn.close();

为确保所有的连接能够被关闭,应该把关闭语句写在finally块中,这样,不管操作数据库过程中是否发生异常,都能够将资源释放出来.

连接其它的数据库步骤均相同,只需更改驱动程序即可.

jdbc mysql api_JDBC---一种用于执行SQL的Java API相关推荐

  1. jdbc mysql api_JDBC Api详解

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

  2. jdbc mysql api_JDBC常用API和使用

    一.JDBC 常用 API 1.Connection 接口方法名称功能描述 getMetaData()该方法用于返回数据库的元数据的 DatabaseMetaData 对象 createStateme ...

  3. eclipselink_EclipseLink MOXy和用于JSON处理的Java API –对象模型API

    eclipselink 用于JSON处理的Java API(JSR-353)是作为Java EE 7的一部分引入的用于生成和使用JSON的Java标准.JSR-353包括对象(类似于DOM)和流(类似 ...

  4. EclipseLink MOXy和用于JSON处理的Java API –对象模型API

    用于JSON处理的Java API(JSR-353)是用于生成和使用JSON的Java标准,它是Java EE 7的一部分引入.JSR-353包括对象(类似于DOM)和流(类似于StAX)API. 在 ...

  5. mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子

    想在每天某个特定时间段定时执行一条sql语句命令,来进行数据库的备份或者更新删除等,可以直接使用MySQL自带的定时任务Event事件来执行操作.需要注意的是Event事件是在MySQL 5.1版本中 ...

  6. mysql delete返回值_Mybatis执行sql(insert、update、delete)返回值问题

    数据库:Mysql 在使用mybatis的过程中对执行sql的返回值产生疑问,顺手记录一下. 结论: insert:   插入n条记录,返回影响行数n.(n>=1,n为0时实际为插入失败) up ...

  7. docker 运行mysql镜像_docker 生成mysql镜像启动时自动执行sql

    在docker 创建 mysql 容器时,往往需要在创建容器的过程中创建database 实例,代码如下: docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSW ...

  8. mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句

    windows和linux操作相同 借鉴:http://www.361way.com/mysql-exec-sql-file/2646.html 方法一:mysql 调用法 操作方式如下: mysql ...

  9. beego mysql 查询_beego orm如何执行SQL查询

    beego orm包除了支持model查询的方式,也支持直接编写sql语句的方式查询数据. sql原生查询有如下特点: 使用 Raw SQL 查询,无需使用 ORM 表定义 多数据库,都可直接使用占位 ...

最新文章

  1. 独家 | 混乱的句子表明AI仍然不能真正理解语言
  2. chrome 插件精选之 github 篇
  3. 值得尝试的 3 个 Linux 终端
  4. Java并发(理论知识)—— 线程安全性
  5. Android攻略之入门
  6. vant在cell中加表格_Vant Cell 单元格
  7. 中国风海报设计必备的墨染素材!点睛国潮风!
  8. ELK学习笔记之Elasticsearch启动常见错误
  9. 内镜碎石术装置行业调研报告 - 市场现状分析与发展前景预测
  10. Python——Matplotlib库入门
  11. Struts框架介绍(重点)
  12. 扫雷源代码(HTML)
  13. PHP 二维数组的合并与去重
  14. 问题 F: 求一个3*3矩阵对角线元素之和
  15. 时间紧、任务重、资源有限,项目经理如何来保证研发效率?
  16. 自己最近在补天测试总结的一般思路
  17. 如何破解EXCEL的单元格保护密码
  18. Facade in Java
  19. 爬虫读取疫情数据,可根据兴趣进行调整,并邮件形式每天定时发送
  20. 串行FLASH文件系统FatFs---转自野火论坛

热门文章

  1. 电脑怎么翻译图片中的文字?快速翻译图片文字的方法
  2. AForge学习笔记(2):AForge.Controls
  3. 向量空间模型原理(VSM)
  4. php函数的,php函数
  5. 让进程在后台可靠运行的几种方法
  6. 如何把语音文件转成文字格式
  7. 从零开始实现放置游戏(十一)——实现战斗挂机(2)注册登陆和游戏主界面
  8. 编写选股公式、同花顺选股公式编写、编写涨停三阴线超短选股指标公式、编写选股公式...
  9. 中序遍历二叉树的非递归实现(利用栈)
  10. SQLServer 查询表的列名称、说明、备注、类型等