zoukankan      html  css  js  c++  java
  • java_jdbc

    JDBC
    一、 什么是JDBC
    Java DataBase Connectivity,Java数据库连接。它提供了一组相关的API,可以Java程序中实现对于数据库的访问和操作(实际就是在JAVA程序中向数据库传送SQL语句)
    二、JDBC核心接口与类

    例1:查询
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    //一个最简单的JDBC例题,实现了查询dept表所有的信息
    public class Test1 {
    public static void main(String[] args) {
    //1载入JDBC驱动程序,加载完驱动的效果是,可以让JAVA程序和数据库软件取得联系。
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2Connection表示数据库连接对象,一个Connection对象就是在用一个用户身份登录到服务器。
    //三个参数url,username,password
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
    //3创建语句对象(要执行的SQL语句对象),在这一步骤上你可以有三个选择,
    //Statement 简单语句对象
    //PreparedStatement 预编译语句对象
    //CallableStatement 可调存储过程的语句对象
    Statement stmt=con.createStatement();
    //4得到查询结果,ResultSet结果集对象//这里就让写SELECT语句。
    ResultSet rs=stmt.executeQuery("select * from dept");
    while(rs.next()){
    //int deptno=rs.getInt(1);
    int deptno=rs.getInt("deptno");
    String dname=rs.getString("dname");
    String loc=rs.getString("loc");
    System.out.println(deptno+" "+dname+" "+loc);

            }
            if(rs!=null){
            	rs.close();
            }
            if(stmt!=null){
            	stmt.close();
            }
    		if(con!=null&&con.isClosed()==false){
    			con.close();
    		}
    	} catch (ClassNotFoundException e) {
    		System.out.println("加载oracle驱异常");
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		System.out.println("SQL异常!");
    	}
        System.out.println("finish!");
    }
    

    }

    例2:插入记录
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    //一个最简单的JDBC例题,实现了insert
    public class Test2 {
    public static void main(String[] args) {
    //1载入JDBC驱动程序,加载完驱动的效果是,可以让JAVA程序和数据库软件取得联系。
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2Connection表示数据库连接对象,一个Connection对象就是在用一个用户身份登录到服务器。
    //三个参数url,username,password
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
    //3创建语句对象(要执行的SQL语句对象),在这一步骤上你可以有三个选择,
    //Statement 简单语句对象
    //PreparedStatement 预编译语句对象
    //CallableStatement 可调存储过程的语句对象
    Statement stmt=con.createStatement();
    //执行增,删,改记录,返回的是改变的行数 ,参数可以是update,insert,delete语句,DDL
    int row=stmt.executeUpdate("insert into n2 (select * from n1)");
    //int row2=stmt.executeUpdate("create table n3(id int)");

            System.out.println(row);
           // System.out.println(row2);
            if(stmt!=null){
            	stmt.close();
            }
            //con关闭时提交
            
    		if(con!=null&&con.isClosed()==false){
    			con.close();
    		}
    		
    	} catch (ClassNotFoundException e) {
    		System.out.println("加载oracle驱异常");
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		System.out.println("SQL异常!");
    	}
        System.out.println("finish!");
    }
    

    }

    例3: 演示日期时间类型在查询中的应用

    package com.dongruan.demo1;
    /*
    create table a1(id int primary key,mydate date);
    insert into a1 values(1,sysdate);
    insert into a1 values(2,sysdate);
    */
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.sql.Timestamp;
    import java.text.SimpleDateFormat;

    public class Test1 {
    public static void main(String[] args) {
    //1载入JDBC驱动程序,加载完驱动的效果是,可以让JAVA程序和数据库软件取得联系。
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2Connection表示数据库连接对象,一个Connection对象就是在用一个用户身份登录到服务器。
    //三个参数url,username,password
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
    //3创建语句对象(要执行的SQL语句对象),在这一步骤上你可以有三个选择,
    //Statement 简单语句对象
    //PreparedStatement 预编译语句对象
    //CallableStatement 可调存储过程的语句对象
    Statement stmt=con.createStatement();
    //4得到查询结果,ResultSet结果集对象//这里就让写SELECT语句。
    ResultSet rs=stmt.executeQuery("select * from a1");
    while(rs.next()){
    int id=rs.getInt("id");
    Timestamp time=rs.getTimestamp("mydate");
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
    System.out.println(id+","+sdf.format(time));
    }
    if(rs!=null){
    rs.close();
    }
    if(stmt!=null){
    stmt.close();
    }
    if(con!=null&&con.isClosed()==false){
    con.close();
    }
    } catch (ClassNotFoundException e) {
    System.out.println("加载oracle驱异常");
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    System.out.println("SQL异常!");
    }
    System.out.println("finish!");
    }
    }

    例4:运用PreparedStatement实现了insert
    package com.dongruan.demo1;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;

    //运用PreparedStatement实现了insert
    public class Test3 {
    public static void main(String[] args) {
    //1载入JDBC驱动程序,加载完驱动的效果是,可以让JAVA程序和数据库软件取得联系。
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    //2Connection表示数据库连接对象,一个Connection对象就是在用一个用户身份登录到服务器。
    //三个参数url,username,password
    Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
    //3创建语句对象(要执行的SQL语句对象),在这一步骤上你可以有三个选择,
    //Statement 简单语句对象
    //PreparedStatement 预编译语句对象
    //CallableStatement 可调存储过程的语句对象

    		//Statement stmt=con.createStatement();
    		
    		//执行增,删,改记录,返回的是改变的行数  ,参数可以是update,insert,delete语句,DDL
            //int row=stmt.executeUpdate("insert into n2 (select * from n1)");
            //int row2=stmt.executeUpdate("create table n3(id int)");
            
    		PreparedStatement stmt=con.prepareStatement("insert into n1 values(?,?)");
    		stmt.setInt(1,101);
    		stmt.setString(2,"101");
    		int row=stmt.executeUpdate();
            System.out.println(row);
           // System.out.println(row2);
            if(stmt!=null){
            	stmt.close();
            }
            //con关闭时提交
            
    		if(con!=null&&con.isClosed()==false){
    			con.close();
    		}
    		
    	} catch (ClassNotFoundException e) {
    		System.out.println("加载oracle驱异常");
    	} catch (SQLException e) {
    		// TODO Auto-generated catch block
    		System.out.println("SQL异常!");
    	}
        System.out.println("finish!");
    }
    

    }

    如何应用ODBC的方式连接数据库,实现JDBC操作?说一下步骤
    首先,在控制面板的,管理工具的,ODBC数据源里配置一个数据源,比如叫demo
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con=DriverManager.getConnection("jdbc:odbc:demo","scott","tiger");

  • 相关阅读:
    app接口测试
    鼠标右键添加"在此处打开命令窗口"
    解决Maven的Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart
    Linux机器之间复制文件和目录方式&Linux的scp命令详解
    Java动态代理总结
    解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
    Elasticsearch使用filter进行匹配关系and,or,not,range查询
    阿里Java开发规范&谷歌Java开发规范&华为Java开发规范&Tab键和空格比较&Eclipse的Tab键设置 总结
    Kafka连接SparkStreaming的两种方式
    IntelliJ IDEA导入多个eclipse项目到同一个workspace下
  • 原文地址:https://www.cnblogs.com/Pythons/p/10902686.html
Copyright © 2011-2022 走看看