12、oracle JDBC技术

JDBC技术

什么是jdbc?

是Java Database Connectivity 简称JDBC,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中的数据的方法。是面向关系型数据库的。

为了规范数据库,要想数据库使用Java代码,数据库厂家就必须实现Java接口中的方法。

在java.sql包中提供了很多接口。

例如:java.sql.Driver 用来加载驱动,DriverManager创建连接()

java.sql.Connection 用来连接数据库的

java.sql.Statement 静态的编译和发送sql语句,静态处理块

java.sql.PreparedStatement 动态的发送sql语句

java.sql.ResultSet 获取sql语句的返回结果集

java.sql.ResultSetMetaData -->结果集元数据

JDBC 的创建步骤

  1. 导入jar

    D:\develop\oracle\product\11.2.0\dbhome_1\jdbc\lib 安装路径找

  2. 加载驱动

    oracle: 加载类:oracle.java.driver.OracleDriver

    class.forName("oracle.java.driver.OracleDriver");

  3. 创建连接

    必须要有url,username,password

    url: jdbc:oracle:thin:@localhost:1521:orcl

    orcl:是数据库实例名

    username:用户名

    password:密码

    Connection conn = DriverManager.getConnection();

  4. 创建statement(静态处理块)

    Statement stmt = conn.createStatement();

  5. 执行sql语句

    //使用select查询语句使用 stmt.excuteQuery(sql);

    //返回的是一个结果集 ResultSet

    String sql = "select * from emp" ;

    ResultSet set = stmt.executeQuery(sql);

    while(set.next()){

    ​ sout(set.getInt(1));//1代表是第一个字段

    ​ //也可以传进字段名

    ​ sout(set.getInt("ename"));

    }

    //执行DML语句使用 stmt.executeUpdata(sql);

    ​ 返回值为int类型,成功的条数。

    //执行DDL语句使用 stmt.execute(sql);

    ​ 返回的是Boolean类型,执行是否成功。

  6. 关闭资源

    //都是流对象

    stmt.close();

    conn.close();

    package day01.com.test02;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class JDBCUtils {
    	public static Connection getConnection() throws ClassNotFoundException, SQLException {
    	
    		//1.加载驱动
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		//2.连接数据库
    		Connection conn = DriverManager.getConnection
    				("jdbc:oracle:thin:@localhost:1521:orcl", "lgx", "123");		
    		return conn;
    	}
    }
    
    --------------------------------------------------------------------------------
    package day01.com.test02;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class Test {
    	public static void main(String[] args) throws ClassNotFoundException, SQLException {
    		//建立连接
    		Connection conn = JDBCUtils.getConnection();
    		//创建静态处理块 statement
    		Statement stmt = conn.createStatement();
    		//删除一条数据
    	/*	String sql = "delete from test where name = '张三1' ";
    		int n = stmt.executeUpdate(sql);
    		System.out.println(n);
    		*/
    		//插入一条数据
    	/*	String sql = "insert into test values(60,'李四')";
    		int n = stmt.executeUpdate(sql);
    		System.out.println(n);
    		*/
    		//修改一条数据
    	/*	String sql = "update test set name ='王五' where id = 20";
    		int n = stmt.executeUpdate(sql);
    		System.out.println(n);
    		*/
    		
    		//查询数据
    		String sql = "select * from test ";
    		ResultSet set = stmt.executeQuery(sql);
    		while (set.next()) {
    //			System.out.print(set.getInt(1));
    //			System.out.println(set.getString(2));
    			System.out.print(set.getInt("id"));
    			System.out.println(set.getString("name"));
    		}
    		conn.close();
    	}
    }
    
    
posted @ 2022-03-17 20:23  站着说话不腰疼  阅读(340)  评论(0)    收藏  举报