本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

**转载请注明 出自 : 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

  1. DricerManager : 管理驱动程序的类
  2. Connection : 驱动提供的与数据库连接的对话
  3. Statement : 执行sql语句并返回它所生成的结果的对象
  4. PreparedStatement : 表示预编译的SQL语句的对象
  5. 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以及查询语句的更多相关文章

  1. Jmeter JDBC Request 查询语句中有汉字查询结果为空的解决方法

    搜索接口我会校验返回值,查询JDBC Request 查询语句有中文字的时候查询会有问题. 解决方法很简单,在JDBC Connection Configuration的Database URL里加一 ...

  2. 使用jdbc拼接条件查询语句时如何防止sql注入

    本人微信公众号,欢迎扫码关注! 使用jdbc拼接条件查询语句时如何防止sql注入 最近公司的项目在上线时需要进行安全扫描,但是有几个项目中含有部分老代码,操作数据库时使用的是jdbc,并且竟然好多都是 ...

  3. JDBC 增删改查代码 过滤查询语句

    package test; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; i ...

  4. 数据库连接JDBC和数据库连接池C3P0自定义的java封装类

    数据库连接JDBC和数据库连接池C3P0自定义的java封装类 使用以下的包装类都需要自己有JDBC的驱动jar包: 如 mysql-connector-java-5.1.26-bin.jar(5.1 ...

  5. (转)经典SQL查询语句大全

    (转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...

  6. Java数据库连接——JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  7. 经典SQL查询语句大全

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  8. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  9. Java数据库连接--JDBC调用存储过程,事务管理和高级应用

    相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...

随机推荐

  1. 【NLP】Python NLTK获取文本语料和词汇资源

    Python NLTK 获取文本语料和词汇资源 作者:白宁超 2016年11月7日13:15:24 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集 ...

  2. Discuz NT 架构剖析之Config机制

    接触了Discuz NT! 一段时间了,是时候做个总结了,标题好霸气,有木有? 都是托园子里的大牛代振军的福啊,哈哈哈哈. 首先论坛的信息不是完全存储在数据库里面的,一部分信息存储在config文件里 ...

  3. 利用apply()或者rest参数来实现用数组传递函数参数

    关于call()和apply()的用法,MDN文档里写的非常清晰明白,在这里就不多做记录了. https://developer.mozilla.org/zh-CN/docs/Web/JavaScri ...

  4. 在你的ASP.NET MVC中使用查找功能

    在程序中,使用查找功能是少之不了.今天在ASP.NET环境下演示一回. 在cshtml视图中,有三个文本框,让用户输入关键词,然后点击最右连的“搜索”铵钮,如果有结果将显示于下面. Html: 表格放 ...

  5. cocos2dx调用浏览器打开网址

    安卓端cocos2dx/platform/android路径下CCApplication.h: virtual void openURL(const char* pszUrl); CCApplicat ...

  6. 2016/12/28_javascript

    今天学习的主要内容: javascript: 1.if语句,switch语句,while循环以及for循环: 1)if语句 if(boolean){}; if(boolean){} else if(b ...

  7. BPM配置故事之案例4-子表

    公司渐渐对采购管理重视起来了,新招聘了采购主管老李,老李对现有的申请表很不满意,要求将申请物资和申请原因改成物资明细表 物资明细表 小明只好继续致电大毛-- 大毛:把申请物资和申请原因删掉,新增一个数 ...

  8. firebug不能加载JS文件 ,无法进行JS脚本调试

    提示: 本页面不包含 Javascript 如果 <script> 标签有 "type" 属性,其值应为 "text/javascript" 或者& ...

  9. Mono+Jexus部署C# MVC的各种坑

    如果你看到这篇文章,先别急着动手,过完一遍,确定是你要的再动手. 别人提到的这里不赘述,只说查了好久才知道的. 1号坑:System.IO.FileNotFoundException Could no ...

  10. 详解前端模块化工具-webpack

    webpack是一个module bundler,抛开博大精深的汉字问题,我们暂且管他叫'模块管理工具'.随着js能做的事情越来越多,浏览器.服务器,js似乎无处不在,这时,使日渐增多的js代码变得合 ...