第九周学习总结
Posted qm20165239
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第九周学习总结相关的知识,希望对你有一定的参考价值。
?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种设定:
以上是关于第九周学习总结的主要内容,如果未能解决你的问题,请参考以下文章