zoukankan      html  css  js  c++  java
  • JDBC_part1_Oracle数据库连接JDBC以及查询语句

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

    **转载请注明 出自 : luogg的博客园 ** 谢谢配合!

    JDBC part1

    JDBC概述

    jdbc是一种用于执行SQL语句的Java API,通过这套API可以访问各种关系数据库,例如;Oracle,MySql,SQLServer等.

    • JDBC驱动程序是各个数据库厂家根据JDBC的W3C规范制作的JDBC实现类.
    • oracle 驱动地址:F:Oracleproduct10.2.0db_1jdbclib->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();
    	}
    
  • 相关阅读:
    BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
    BZOJ 1007 [HNOI2008]水平可见直线 (栈)
    Java Date,long,String 日期转换
    android学习---- WindowManager 接口 (
    ListView 使用详解
    @synchronized (object)使用详解
    Android View坐标getLeft, getRight, getTop, getBottom
    Android:Layout_weight的深刻理解
    onTouch事件试验(覆写onTouchEvent方法,同时设置onTouchListener)
    FragmentPagerAdapter与FragmentStatePagerAdapter区别
  • 原文地址:https://www.cnblogs.com/luogg/p/5940028.html
Copyright © 2011-2022 走看看