1.BeanUtils组件:方便对javabean的操作
主要方法: 1.对象属性的拷贝
eg: Admin admin = new Admin();
BeanUtils.copyProperty(admin,"age",18);
/*等价于BeanUtil.copyProperty(admin,"age",18),如果18是以"18"作为参数,也没有问题,字符串会自动转换成基本数据类型*/
2.对象的拷贝
BeanUtils.copyProperties(newAdmin,admin);
3.map数据拷贝到javabean中(注意:map中的key要与javabean的属性名称一致)
BeanUtils.populate(admin,map);
如果属性中字符串要转换成非基本类型的对象(例如Date),需要注册转换器(可以使用官方提供的,也可以自己构造)
2.元数据
数据库元数据 DatabaseMetaData metaData = connection.getMetaData();
//可以获得数据库的相关信息。
metaData.getUserName(),metaData.getURL(),meta.getDatabaseProductName()
SQL参数元数据 ParameterMetaData p_metaData = prepareStatement.getParameterMetaData();
int count = p_metaData.getParameterCount();//参数的个数
结果集元数据 ResultSetMetaData rs_metaData = rs.getMetaData();
rs.next();
int count = rs_metaData.getColumnCount(); // 列的个数
String name = rs_metaData.getColumnName(int index); // 列的名称
3.DbUtils组件
int update(Connection conn,String sql,Object... params); 执行更新带多个占位符的sql
int[] batch(Connection conn,String sql,Object[][] params); 批处理
T query(Connection conn,STring sql,ResultSetHandler<T> rsh,Object... params);
(一般用上面三种,没参数不用写参数)
Int update( String sql, Object param);
Int update( String sql, Object… param);
Int[] batch( String sql, Object[][] params)
注意: 如果调用DbUtils组件的操作数据库方法,没有传入连接对象,那么在实例化QueryRunner对象的时候需要传入数据源对象: QueryRunner qr = new QueryRunner(ds);
BeanHandler:查询返回单个对象
BeanListHandler:查询返回list集合,集合元素是指定的对象
ArrayHandler:查询返回结果记录的第一行,封装为对象数组,即返回:Object[]
ArrayListHandler:把查询的每一行都封装为对象数组,再添加到list集合中
ScalarHandler:查询返回结果记录的第一行的第一列(聚合函数统计的时候用)
MapHandler:查询返回结果的第一条记录封装为map
MapListHandler
----------------------------------------------------------分割线---------------------------------------------------------------
其实有些都已经不是我原创了,我对着一些笔记看了下,修改了下,想了下,嗯,这是昨天学的