第九周学习总结

•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种设定:

原文地址:https://www.cnblogs.com/qm20165239/p/8972181.html