Java操作数据库详解
目录
- 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操作数据库详解相关推荐
- Java操作MongoDB详解
Java操作MongoDB详解 1. MongoDB概述 1.1 MongoDB简介 1.2 MongoDB概念 2. MongoDB安装 2.1 MongoDB下载 2.2 MongoDB安装 2. ...
- php phonegap,phonegap操作数据库详解
这次给大家带来phonegap操作数据库详解,phonegap操作数据库的注意事项有哪些,下面就是实战案例,一起来看一下. 实例如下: Database Example document.addEve ...
- Django 使用 ORM 操作数据库详解
ORM 是个啥? 在python中的一个默认的编写规范是一切皆对象,这样做使得代码简洁,结构清晰,便于维护和重用代码,同时极大的提升开发效率. 同样在操作数据库时,一般我们用SQL语句来实现操作,但是 ...
- 【云开发】小程序端操作数据库详解
文章目录 云数据库 云数据库简介 手动操作数据库 小程序端操作数据库
- java MySQL数据库 详解
1.数据库介绍 1.1 数据概念 数据的储存方式: 存储位置 优点 缺点 内存 速度快 不能永久保存,数据是临时状态. 文件 数据可以永久保存 操作数据不方便,查询某个数据. 数据库 1)数据可以永 ...
- Jmeter操作数据库详解
https://www.bilibili.com/video/BV1st411Y7QW?p=91&spm_id_from=pageDriver 进一步详细信息参考: 软件测试工程师必备之Jme ...
- Java操作数据库方式(六)DataSource详解
##概述 在java世界里操作数据库有很多方式,在众多方式中除了JDBC外都有DataSource对象. DataSource可以看作数据源,它封装了数据库参数,连接数据库,程序中操作DataSour ...
- Java操作数据库方式二DBCP使用详解
##概述 DBCP的全称是:DataBase connection pool,翻译是:数据库连接池. 在Java操作数据库方式一JDBC使用详解中说到直接使用JDBC非常消耗资源.为了避免频繁关闭链接 ...
- [Python从零到壹] 八.数据库之MySQL和Sqlite基础知识及操作万字详解
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
最新文章
- linux安装8168网卡,Fedora 配置 RTL8168/8111 网卡 Linux下 RTL8168/8111 网卡配置
- Apache中KeepAlive 配置
- scheduled线程池ScheduledExecutorService只执行一次_有个定时任务突然不执行了
- SAP 如何得到交货单上的序列号清单?
- pythonidle新建文件_(一)Python入门:04IDLE开发环境的使用-建立Python源文件
- Linux常用系统备份、恢复命令
- 如何在JSP里自定义标签
- IoTSharp 2.0 发布
- Linux:ps命令以及进程状态详解
- cs go linux游戏吧,玩家分享:让CSGO画面变成舒服的暖色调
- java 陷阱_Java基础知识陷阱
- php版主动推送,织梦php主动推送完整实例(单篇推送版本)
- LeetCode131:Palindrome Partitioning
- html点击按钮切换图片代码_单次点击实现远程代码执行:内容管理框架Drupal恶意图片上传漏洞利用链分析...
- 服务器版dll修复工具,dll修复工具
- 热启动计算机的快捷键,电脑快捷键的用法
- 国产系统UOS开机进入initramfs命令行怎么办
- :幽灵蛛(pholcus)(三)--header get post学习资料
- google的搜索技巧(很全的)
- Oracle EBS供应商信息查询SQL语句