JDBC_part1_Oracle数据库连接JDBC以及查询语句
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.
**转载请注明 出自 : luogg的博客园 ** 谢谢配合!
JDBC part1
JDBC概述
jdbc是一种用于执行SQL语句的Java API,通过这套API可以访问各种关系数据库,例如;Oracle,MySql,SQLServer等.
- JDBC驱动程序是各个数据库厂家根据JDBC的W3C规范制作的JDBC实现类.
- oracle 驱动地址:F:\Oracle\product\10.2.0\db_1\jdbc\lib->class12.jar
- 将jar包直接扔到项目下,然后右键add buildpath.
JDBC API
- DricerManager : 管理驱动程序的类
- Connection : 驱动提供的与数据库连接的对话
- Statement : 执行sql语句并返回它所生成的结果的对象
- PreparedStatement : 表示预编译的SQL语句的对象
- ResultSet : 查询的结果集
- 如果要定义private final static 常量,就要将定义语句放在类下,方法外.
- java.sql.SQLException: Io 异常: The Network Adapter could not establish the connection 这是因为数据库还没有启动= =!
JDBC步骤
1.注册驱动程序 : Class.forName("oracle.jdbc.OracleDriver");
2.获取数据库连接 : Connection conn = DriverManager.getConnection(url,username,password);
其中,url = "jdbc:oracle:thin:@localhost:1521:orcl";
url是数据库厂商自己定义的,username = "scott";数据库用户名,password="数据库用户登录密码";
3.写sql语句 String sql = "select * from copy_emp;"
String name = "Steven";
String sql = "select * from copy_emp where first_name = "+"'"+name+"'";
//在oracle中,String类型需要使用''单引号表示,所以java中就需要用"'"表示一个分号.
4.创建发送对象. Statement stmt = conn.createStatement();
5.发送sql语句 ResultSet stmt.executeQuery(sql);
6.处理结果集
while(rs.next()) {
System.out.println(rs.getString(1)+rs.getString(2)
+rs.getString(3)+rs.getInt("salary"));
}
其中,rs.getString(int),括号中位int类型时,表示的是第int列的数据,如果rs.getString(String),括号中位String类型时,表示的是对应的列名.
7.关闭资源,后打开的先关闭
执行查询语句,使用的是executeQuery();返回的是结果集 ;
执行update,insert,delete使用的是executeUpdate();返回的是数字,代表影响行数。
public class SelectJDBC {
private final static String DriverName = "oracle.jdbc.OracleDriver";
private final static String URL = "jdbc:oracle:thin:@localhost:1521:orcl";
private final static String USERNAME = "scott";
private final static String PASSWORD = "luogg";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//1.注ce驱动
Class.forName(DriverName);
//2.获取连接
Connection conn = DriverManager.getConnection(URL,USERNAME,PASSWORD);
//3.写sql语句
//String name = "Steven";
//String sql = "select * from copy_emp where department_id=100";
//String sql = "select * from copy_emp where first_name = "+"'"+name+"'";
//System.out.println(sql);
//String sql1 = "select * from copy_emp where first_name = "+"'洛'";
String startTime = "1994-01-01";
String endTime = "2000-01-01";
String sql = "select * from copy_emp where hire_date between to_date("+"'"+startTime+"'"+","+"'"+"yyyy-mm-dd"+"'"+")"+"and to_date("+"'"+endTime+"'"+","+"'"+"yyyy-mm-dd"+"'"+")";
System.out.println(sql);
//4.创建发送对象
Statement stmt = conn.createStatement();
//5.发送sql语句
ResultSet rs = stmt.executeQuery(sql);
//6.处理结果集
while(rs.next()) {
System.out.println(rs.getString("first_name")+" "+
rs.getString("salary"));
}
//7.关闭资源
rs.close();
stmt.close();
conn.close();
}
JDBC_part1_Oracle数据库连接JDBC以及查询语句的更多相关文章
- Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法
搜索接口我会校验返回值,查询JDBC Request 查询语句有中文字的时候查询会有问题. 解决方法很简单,在JDBC Connection Configuration的Database URL里加一 ...
- 使用jdbc拼接条件查询语句时如何防止sql注入
本人微信公众号,欢迎扫码关注! 使用jdbc拼接条件查询语句时如何防止sql注入 最近公司的项目在上线时需要进行安全扫描,但是有几个项目中含有部分老代码,操作数据库时使用的是jdbc,并且竟然好多都是 ...
- JDBC 增删改查代码 过滤查询语句
package test; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; i ...
- 数据库连接JDBC和数据库连接池C3P0自定义的java封装类
数据库连接JDBC和数据库连接池C3P0自定义的java封装类 使用以下的包装类都需要自己有JDBC的驱动jar包: 如 mysql-connector-java-5.1.26-bin.jar(5.1 ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
随机推荐
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 【用户交互】APP没有退出前台但改变系统属性如何实时更新UI?监听系统广播,让用户交互更舒心~
前日,一小伙伴问我一个问题,说它解决了半天都没解决这个问题,截图如下: 大概楼主理解如下: 如果在应用中有一个判断wifi的开关和一个当前音量大小的seekbar以及一个获取当前电量多少的按钮,想知道 ...
- linux centos中添加删除修改环境变量,设置java环境变量
前言 安装完软件必要添加环境变量.指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋.好吧,好记星不如烂笔头.当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只 ...
- 内存映射文件MemoryMappedFile使用
参考资料: http://blog.csdn.net/bitfan/article/details/4438458 所谓内存映射文件,其实就是在内存中开辟出一块存放数据的专用区域,这区域往往与硬盘上特 ...
- java中if和switch哪个效率快
首先要看一个问题,if 语句适用范围比较广,只要是 boolean 表达式都可以用 if 判断:而 switch 只能对基本类型进行数值比较.两者的可比性就仅限在两个基本类型比较的范围内.说到基本类型 ...
- 解决:win10_x64 VMware Workstation and Hyper-V are not compatible. Remove the Hyper-V role from the system before running VMware Workstation
bcdedit /set hypervisorlaunchtype off A reboot of of the Windows OS is necessary 必须重启才能生效 To enab ...
- (一)Spark简介-Java&Python版Spark
Spark简介 视频教程: 1.优酷 2.YouTube 简介: Spark是加州大学伯克利分校AMP实验室,开发的通用内存并行计算框架.Spark在2013年6月进入Apache成为孵化项目,8个月 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- html5 audio总结
前言 html5中对音频,视频播放原生支持.最近做了一个音乐播放器,得益于快过年了,才能抽出一点时间来总结一下.总的来说,html5对audio的支持非常强大, 难怪flash要死.浏览器上装播放插件 ...
- Windows Server 2012 磁盘管理之 简单卷、跨区卷、带区卷、镜像卷和RAID-5卷
今天给客户配置故障转移群集,在Windows Server 2012 R2的系统上,通过iSCSI连接上DELL的SAN存储后,在磁盘管理里面发现可以新建 简单卷.跨区卷.带区卷.镜像卷.RAID-5 ...