JDBC第二次学习
Posted 叶十一少
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC第二次学习相关的知识,希望对你有一定的参考价值。
脑子太笨,必须得记录下来一些文字,方便回来查询。
这是我的第二次学习JDBC的笔记,看的是传智播客——李勇老师的JDBC系列,已看到第23集。
分析在实际项目中该如何应用JDBC
一个简单用户相关的数据访问层
- J2EE三层架构简介:表示层 、业务逻辑层、数据访问层,三层之间用接口隔离。
-
定义domain对象User,定义存取用户的接口。
-
用JDBC实现接口。
- 用配置文件(properties)和反射实现与具体类的耦合。
用图来表示:
在真实的项目开发中,我们能不能返回ResultSet对象呢? 如下例代码:
static ResultSet read() throws SQLException { Connection conn = null; Statement st = null; ResultSet rs = null; try { //2.建立连接 conn = JdbcUtils.getConnection(); //3.创建语句 st = conn.createStatement(); //4.执行语句 rs = st.executeQuery("select id,name,birthday,money from user"); //5.处理结果 while(rs.next()) { System.out.println(rs.getObject("id")+"\t"+rs.getObject("name")+ "\t"+rs.getObject("birthday")+"\t"+rs.getObject("money")); } return rs;//连接关闭,Statement、ResultSet都失效了。 } finally { JdbcUtils.free(rs, st, conn); } }
在main()方法中调用:
ResultSet rs = read();
这个其实是不可以的,当Connection关闭之后,ResultSet中的数据你就拿不到了(Statement、ResultSet都失效了)。如果我们要进行传值需要定义个domain对象。
我们重点关注数据访问层的代码如何书写
以上是关于JDBC第二次学习的主要内容,如果未能解决你的问题,请参考以下文章
在使用 FirebaseRecyclerPagingAdapter 时,第二次单击 RecyclerView 中的项目时,片段显示为空