目录

  • JDBC简介
  • JDBC的使用
  • 数据库连接方式
  • 案例程序
  • Statement和PreparedStatement的区别

JDBC简介

JDBC(Java Data Base Connectivity)即java数据库连接,是Java核心类库的一部分,提供了操作多种关系数据库提供统一访问,是一种用于执行SQL语句的Java API。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC有两种,一种原sun公司提供的数据库连接;一种是由微软提供的JDBC数据库连接。JDBC访问不同的数据库使用的JDBC API都有所不同,虽然统称为JDBC。如:访问sql server数据库的JDBC,是不能访问oracle数据库的,同理也是也不访问MySQL、db2、Informix数据库等。只是访问方式不同,对数据库的操作依然是使用sql语句操作。

JDBC的使用

经常使用JDBC进行如下操作:
(1)与数据库建立连接。
(2) 向已连接的数据库发送SQL语句。
(3)处理SQL语句返回结果

数据库连接方式

和数据库连接的方式有两种,分别是:
(1)建立JDBC-ODBC桥接器
关于如何使用,JDBC-ODBC桥接器操作mysql,请看这篇博客:
http://blog.sina.com.cn/s/blog_81c33221010124v2.html

关于如何使用JDBC-ODBC桥接器操作sql server,请看这篇博客:
http://www.cnblogs.com/Howe-Young/p/4082205.html

(2)加载纯Java的数据库驱动程序
下面这要讲加载纯Java的数据库驱动程序,这种方法应用较广泛,但是需要下载相应的驱动程序包,因为不同的数据库的连接代码可能不同,连接不同的数据库,加载的驱动程序也可能不同。本文将以MySQL数据库为例来讲解连接数据库的过程。

案例程序

首先,下载驱动 mysql-connector-java-5.1.35-bin.jar

以下是一个查询的案例,程序注释很清楚。

package crawlerTest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*   *  合肥工业大学 管理学院 qianyang 1563178220@qq.com*/
public class MysqlConnectionTest {public static void main(String[] args) throws ClassNotFoundException, SQLException {Connection connection=null;           //数据库连接的获取Statement stmt=null;                    //创建Statement对象ResultSet rst=null;                 //创建数据库执行对象String driver="com.mysql.jdbc.Driver";   //数据库驱动String dbURL="jdbc:mysql://127.0.0.1:3306/test";  //操作的数据库地址,端口及库名String user = "root"; //数据库用户名String password = "112233"; //数据库密码Class.forName(driver);            //驱动注册try {connection = DriverManager.getConnection(dbURL,user,password);} catch (SQLException e) {e.printStackTrace();}     //连接数据库     stmt = connection.createStatement();String sql="select * from auto_forum_comments limit 1,100"; //需要查询的语句// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等rst=stmt.executeQuery(sql);while (rst.next()) {System.out.println(rst.getString(6));              //取第6列数据}rst.close();stmt.close();connection.close();}
}

Statement和PreparedStatement的区别

Statement和PreparedStatement都可以用于把sql语句从java程序中发送到指定数据库,并执行sql语句,但是他们也存在区别:
(1)直接使用Statement,驱动程序一般不会对sql语句作处理而直接交给数据库;使用PreparedStatement,形成预编译的过程,并且会对语句作字符集的转换中如此。
如此,有两个好处:对于多次重复执行的语句,使用preparedStatement效率会更高一点,并且在这种情况下也比较适合使用batch;另外,可以比较好地解决系统的本地化问题。

(2)PreparedStatement还能有效的防止危险字符的注入,也就是sql注入的问题。

Java操作数据库详解相关推荐

  1. Java操作MongoDB详解

    Java操作MongoDB详解 1. MongoDB概述 1.1 MongoDB简介 1.2 MongoDB概念 2. MongoDB安装 2.1 MongoDB下载 2.2 MongoDB安装 2. ...

  2. php phonegap,phonegap操作数据库详解

    这次给大家带来phonegap操作数据库详解,phonegap操作数据库的注意事项有哪些,下面就是实战案例,一起来看一下. 实例如下: Database Example document.addEve ...

  3. Django 使用 ORM 操作数据库详解

    ORM 是个啥? 在python中的一个默认的编写规范是一切皆对象,这样做使得代码简洁,结构清晰,便于维护和重用代码,同时极大的提升开发效率. 同样在操作数据库时,一般我们用SQL语句来实现操作,但是 ...

  4. 【云开发】小程序端操作数据库详解

    文章目录 云数据库 云数据库简介 手动操作数据库 小程序端操作数据库

  5. java MySQL数据库 详解

    1.数据库介绍 1.1 数据概念  数据的储存方式: 存储位置 优点 缺点 内存 速度快 不能永久保存,数据是临时状态. 文件 数据可以永久保存 操作数据不方便,查询某个数据. 数据库 1)数据可以永 ...

  6. Jmeter操作数据库详解

    https://www.bilibili.com/video/BV1st411Y7QW?p=91&spm_id_from=pageDriver 进一步详细信息参考: 软件测试工程师必备之Jme ...

  7. Java操作数据库方式(六)DataSource详解

    ##概述 在java世界里操作数据库有很多方式,在众多方式中除了JDBC外都有DataSource对象. DataSource可以看作数据源,它封装了数据库参数,连接数据库,程序中操作DataSour ...

  8. Java操作数据库方式二DBCP使用详解

    ##概述 DBCP的全称是:DataBase connection pool,翻译是:数据库连接池. 在Java操作数据库方式一JDBC使用详解中说到直接使用JDBC非常消耗资源.为了避免频繁关闭链接 ...

  9. [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. linux安装8168网卡,Fedora 配置 RTL8168/8111 网卡 Linux下 RTL8168/8111 网卡配置
  2. Apache中KeepAlive 配置
  3. scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了
  4. SAP 如何得到交货单上的序列号清单?
  5. pythonidle新建文件_(一)Python入门:04IDLE开发环境的使用-建立Python源文件
  6. Linux常用系统备份、恢复命令
  7. 如何在JSP里自定义标签
  8. IoTSharp 2.0 发布
  9. Linux:ps命令以及进程状态详解
  10. cs go linux游戏吧,玩家分享:让CSGO画面变成舒服的暖色调
  11. java 陷阱_Java基础知识陷阱
  12. php版主动推送,织梦php主动推送完整实例(单篇推送版本)
  13. LeetCode131:Palindrome Partitioning
  14. html点击按钮切换图片代码_单次点击实现远程代码执行:内容管理框架Drupal恶意图片上传漏洞利用链分析...
  15. 服务器版dll修复工具,dll修复工具
  16. 热启动计算机的快捷键,电脑快捷键的用法
  17. 国产系统UOS开机进入initramfs命令行怎么办
  18. :幽灵蛛(pholcus)(三)--header get post学习资料
  19. google的搜索技巧(很全的)
  20. Oracle EBS供应商信息查询SQL语句

热门文章

  1. Nacos Spring Cloud 快速开始
  2. 数据库面试 - 分库分表
  3. C#中使用ajax请求
  4. 【转】数据安全优秀思想
  5. java 递归 遍历目录下的所有文件
  6. 【Python】Python库之游戏开发
  7. C#LeetCode刷题-记忆化
  8. 创新品牌体验团队_如何推动软件团队创新
  9. python 多线程处理_Python中的多处理与多线程:您需要了解的内容。
  10. 123_Power PivotPower BI DAX函数说明速查