JAVA_JDBC

1、JDBC的常用类

类  名 说  明
DriverManager 管理JDBC驱动的类。取得Connection的时候用。
Connection 连接DB的接口。
Statement 执行SQL的接口。
ResultSet 存放检索结果的类。

 

2、JDBC程序的处理流程

   1)用Class.forName函数装载JDBC驱动;

   2)通过DriverManager.getConnection取得Connection对象;

   3)通过Connection.createStatement取得Statement对象;

   4)数据库操作:

      更新:Statement.executeUpdate     (insert、update、delete)

      查询:Statement.executeQuery

 

3、从ResultSet取出所需数据

   按照所取数据的数据类型调用合适的接口:

 ResultSet.getInt(“列名”)   或者  ResultSet.getInt(列数)

ResultSet.getString(“列名”)  

等等

 

4、Statement和ResultSet是一对一的关系。如果需要多个ResultSet那么就需要多个Statement。

 

5、Statement和Connection最好放到finally里释放掉

 

6、数据同步

复数个用户同时访问相同记录的时候,需要考虑给DB加锁处理。具体锁机制各个DB不同。下面好象同时适合oracle、MySql、PostgreSql

  Select xxx From table where 条件 for update

 

7、PreparedStatement对Java app会带来性能的提升,但对Web App却未必有效。

   因为PreparedStatement是利用Cashe提升性能的,但Web是每个Request都有自己的Connection。

 

8、JDBC在桌面App和Web App上的不同

   1)Web app是一个Request一个Connetion。而数据库允许的最大Connection数是有限的。

     (20~30个而已)

   2)如何把数据检索结果从サーブレット传到JSP是个课题。一般是把ResultSet的数据转移到JavaBeans里来解决。就是所谓的O/R映射,O/R映射的代表是Hibernate。

      当然,利用RowSet也是一个办法。(RowSet有insertRow、updateRow比较方便)

9、DAO 和 DTO

DAO是,实现DB访问功能的类。

DTO是,容纳DB数据的类。

一般,DTO是DAO功能接口的参数或返回值。

你可能感兴趣的:(java)