Java-JDBC【之】数据类型、封装JDBCUtil、封装通用增删改、ResultSet与ResultSetMetaData、查询结果集映射Map与ListMap
1.数据类型
Java | SQL |
---|---|
boolean | BIT |
byte | TINYINT |
short | SMALLINT |
int | INTEGER |
long | BIGINT |
String | CHAR,VARCHAR,LONGVARCHAR |
byte array | BINARY , VAR BINARY |
java.sql.Date | DATE |
java.sql.Time | TIME |
java.sql.Timestamp | TIMESTAMP |
2.封装通用增删改
2.1.封装JDBCUtil
- getConnection():返回连接对象
- close():关闭连接释放资源
2.2.封装Dao通用增删改
- update():通用增删改,传
sql字符串
和占位符对应的参数集合
,返回影响函数
2.3.测试
- add(),update(),delete(),三个方法分别测试,增、改、删
3.ResultSet与ResultSetMetaData
- ResultSet
- 调用 PreparedStatement 的 executeQuery() 方法返回查询结果,是一个ResultSet 对象
- 对象以逻辑表格的形式,封装了执行数据库操作的结果集,ResultSet 接口由数据库厂商提供实现
- ResultSet 实际上就是一张数据表。初始指针,指向数据表的第一条记录的前面。可以通过 ResultSet 对象的 next() 方法移动到下一行。调用 next()方法检测下一行是否有效。若有效,该方法返回 true,且指针下移。相当于Iterator对象的 hasNext() 和 next() 方法的结合体。
- 当指针指向一行时, 可以通过调用 getXxx(int index) 或 getXxx(int columnName) 获取每一列的值。
- Java与数据库交互时,涉及到的相关Java API中的
索引都从1开始
- ResultSet接口的常用方法
boolean next()
get*()
- ResultSetMetaData
- 用于获取返回结果集 ResultSet 对象中,列的类型和属性信息的对象, 通过
resultSet.getMetaData();
获取- getColumnName(int column):获取指定列的名称
- getColumnLabel(int column):获取指定列的别名
- getColumnCount():返回当前 ResultSet 对象中的列数。
- getColumnTypeName(int column):检索指定列的数据库特定的类型名称。
- getColumnDisplaySize(int column):指示指定列的最大标准宽度,以字符为单位。
- isNullable(int column):指示指定列中的值是否可以为 null。
- isAutoIncrement(int column):指示是否自动为指定列进行编号,这样这些列仍然是只读的。
4.查询对象映射Map
4.1.封装queryMap()
- 图中有详细注释
- 封装queryMap()方法,通过 ResultSet 和 ResultSetMetaData ,获取结果集中的列信息与数据,保存到Map中
4.2.测试
5.查询结果集映射ListMap
5.1.封装queryListMap()
- 图中有详细注释
- 通过 ResultSet 和 ResultSetMetaData ,获取结果集中的列信息与数据,保存到ListMap中
5.2.测试
6.完整源码
《目录:Java-JDBC学习》
《幕》
- 留白 —<老吉>
- ~ 今 ~ ❀ ~ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀❀❀❀ ❀❀❀❀❀❀❀