zoukankan      html  css  js  c++  java
  • 第九周学习总结

    •JDBC全名Java DataBase Connectivity,是java联机数据库的标准规范。它定义一组标准类与接口,应用程序需要联机数据库时调用这组标准API。

    •JDBC标准:JDBC应用程序开发者接口和JDBC驱动程序开发者接口。

    •应用程序使用JDBC联机数据库:
    ·Connection conn = DriverManager.getConnection(...);
    ·Statement st = conn.createStatement();
    ·ResultSet rs = st.executeQuesry(...);

    连接数据库
    •要连接数据库系统,必须要有厂商操作的JDBC驱动程序,必须在CLASSPATH中设定驱动程序JAR文档。

    •操作Driver接口的对象是JDBC进行数据库存取的起点。connection接口的操作对象是数据库联机代表对象,要取得Connection操作对象,可以通过DriverManager的getConnection():
    Connection conn = DriverManager.getConnection(jdbcUrl, username, passwd);

    •在操作完数据库之后,若确定不再需要连接,则必须使用close()来关闭与数据库的连接,以释放连接时相关的必要资源,像是联机相关对象、授权资源等。

    使用Statement、ResultSet
    •要执行SQL的话,必须取得java.sql.Statement操作对象。可使用Connection的createStatement()建立Statement对象。

    •Statement的execute()用来执行SQL,并可以测试SQL是执行查询或更新,返回true表示SQL执行将返回ResultSet作为查询结果。

    •Resultset的next()可通过返回true或者false表示是否有下一笔数据。

    使用PreparedStatement、CallableStatement
    •使用Connection的prepareStatement()方法建立好预先编译的SQL语句,当中参数会变动的部分先指定“?”这个占位字符。PrepareStatement stmt = conn.prepareStatement("INSERT INTO t_message VALUES(?, ?, ?, ?)");

    •等到需要真正指定参数执行时,再使用相对应的setInt()、setString()等方法,指定“?”处真正应该有的参数。例如:
    stmt.setInt(1,2);
    stmt.setString(2,"momor");
    stmt.executeUpdate();

    JDBC进阶

    使用DataSource取得联机

    •当MessageDAO的用户无法告知DriverManager有关JDBC URL、用户名称、密码等信息时,可以让MessageDAO依赖于javax.sql.DataSource接口,通过其定义的getConnection()方法取得Connection。

    使用ResultSet卷动、更新数据

    •在ResultSet时,默认可以使用next()移动数据光标至下一笔数据,然后使用getxxx()方法来取得数据。

    •ResultSet可以使用previous()、first()、last()等方法前后移动数据光标,还可以调用updatexxx()、updateRow()等方法进行数据修改。

    •结果集类型3种设定:
    ResultSet.TYPE_FORWARD_ONLY(默认)(只能前进数据光标)
    ResultSet.TYPE_SCROLL_INSENSITIVE(前后移动数据光标)
    ResultSet.TYPE_SCROLL_SENSITIVE(前后移动数据光标,反映数据库中的数据修改)

    •更新设定的2种设定:

  • 相关阅读:
    PID控制原理和算法
    Android 按钮长按下去重复执行某个动作,放开后停止执行动作
    最小二乘法拟合非线性函数及其Matlab/Excel 实现
    Android 基于蓝牙的方向控制器
    Android/Java 中的 String, StringBuffer, StringBuilder的区别和使用
    input 只允许输入数字
    java scoket编程
    RBAC权限管理
    整理大型网站架构必知必会的几个服务器知识
    Java中Class<T>与Class<?>的区别
  • 原文地址:https://www.cnblogs.com/qm20165239/p/8972181.html
Copyright © 2011-2022 走看看