zoukankan      html  css  js  c++  java
  • JDBC语法总结

    一、加载驱动

    加载JDBC驱动是通过调用方法java.lang.Class.forName(),下面列出常用的几种数据库驱动程序。
     
    加载语句的形式 :
    • Class.forName(“oracle.JDBC.driver.OracleDriver”);//使用Oracle的JDBC驱动程序。
    • Class.forName(“com.microsoft.JDBC.sqlserver.SQLServerDriver”);//使用SQL Server的JDBC驱动程序。
    • Class.forName(“com.ibm.db2.JDBC.app.DB2Driver”);//使用DB2的JDBC驱动程序。
    • Class.forName("com.mysql.JDBC.Driver");//使用MySql的JDBC驱动程序。

     

    二、创建数据库连接

    与数据库建立连接的方法是调用DriverManager.getConnection(String url, String user, String password )方法
    • Connection conn=null;
    • String url="jdbc:oracle:thin:@localhost:1521:orcl";
    • String user=“scott";
    • String password=“tiger";
    • conn = DriverManager.getConnection(url, user, password);
     

    三、创建Statement并发送命令

    Statement对象用于将 SQL 语句发送到数据库中,或者理解为执行sql语句有三种 Statement对象:
    • Statement:用于执行不带参数的简单SQL语句;
    • PreparedStatement(从 Statement 继承):用于执行带或不带参数的预编译SQL语句;
    • CallableStatement(从PreparedStatement 继承):用于执行数据库存储过程的调用。

     
     

    四、处理ResultSet结果

    ResultSet对象是executeQuery()方法的返回值,它被称为结果集,它代表符合SQL语句条件的 所有行,并且它通过一套getXXX方法(这些get方法可以访问当前行中的不同列)提供了对这 些行中数据的访问。
     
    ResultSet里的数据一行一行排列,每行有多个字段,且有一个记录指针,指针所指的数据行 叫做当前数据行,我们只能来操作当前的数据行。我们如果想要取得某一条记录,就要使用 ResultSet的next()方法 ,如果我们想要得到ResultSet里的所有记录,就应该使用while循环。
     
    ResultSet对象自动维护指向当前数据行的游标。每调用一次next()方法,游标向下移动一行。 初始状态下记录指针指向第一条记录的前面,通过next()方法指向第一条记录。循环完毕后指向最后一条记录的后面。
     

     
     
     

    五、关闭数据库资源

    作为一种好的编程风格,应在不需要Statement对象和Connection对象时显式地关闭它们。关 闭Statement对象和Connection对象的语法形式为: public void close() throws SQLException
     
    用户不必关闭ResultSet。当它的 Statement 关闭、重新执行或用于从多结果序列中获取下一 个结果时,该ResultSet将被自动关闭。
     
    注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,所以在使用结束之后有可能其他的。Statement还需要连接,所以不能先关闭Connection。
    (原创作品,请多关照!如需要尚学堂java全套视频java微服务架构教程请点击。)
     
     
  • 相关阅读:
    树状数组基本操作
    P1802 5倍经验日 题解
    函数学习总结
    康托展开
    中国电信CDMA无线上网卡短信收发
    报错:无法获取实体类XXX对应的表名!
    javajvisualvm远程监控云服务器上的Tomcat8.5
    服务器防火墙开放端口
    报错:列"AGENT_ENTITY_NAME"的值太大(实际值: 60,最大值50) oracle VARCHAR2和NVARCHAR2的区别
    linux中查看端口是否被占用lsof i:port
  • 原文地址:https://www.cnblogs.com/shsxt/p/13180848.html
Copyright © 2011-2022 走看看