代码如下:
1、添加一个泛型参数,动态获取不同表数据
2、针对于不同的表的通用的查询操作,返回表中的一条记录:
问题1:得到结果集后, 如何知道该结果集中有哪些列 ? 列名是什么?
需要使用一个描述 ResultSet 的对象, 即 ResultSetMetaData
问题2:关于ResultSetMetaData
1.如何获取 ResultSetMetaData: 调用 ResultSet 的 getMetaData() 方法即可
2.获取 ResultSet 中有多少列:调用 ResultSetMetaData 的 getColumnCount() 方法
3.获取 ResultSet 每一列的列的别名是什么:调用 ResultSetMetaData 的getColumnLabel() 方法
两种思想:
1、面向接口编程的思想
2、ORM思想(object relational mapping)
2.1 一个数据表对应一个java类
2.2 表中的一条记录对应java类的一个对象
2.3 表中的一个字段对应java类的一个属性
sql是需要结合列名和表的属性名来写。注意起别名。
两种技术:
1、JDBC结果集的元数据:ResultSetMetaData
1.1 获取列数:getColumnCount()
1.2 获取列的别名:getColumnLabel()
2、通过反射,创建指定类的对象,获取指定的属性并赋值
- 测试查询不同表,返回多条数据;
- 查询不同的表的通用的查询操作,返回表中的多条记录: