java 使用过的各类 jar
json 处理
alibaba 出品的 对象字符串转json 下载地址
https://github.com/alibaba/fastjson
Map对象转换成指定类型的Bean对象
随机生成长度32的随机字符
commonUtils
依赖: commons.beanutils.jar commons-logging.jar
两个方法:
1. String uuid() 生成长度32的随机字符串,通常用作实体类的ID
2. T toBean(Map, Class<T>) 把Map对象转换成指定类型的 Bean 对象. 通常用来获取表单数据 (request.getParameterMap() ) 封装到 javaBean 中,底层使用了common.beanutils
注意: 要求map 中键的名称要与Bean的属性名称相同才能完成映射
// 获取随机生成uuid String id = CommonUtils.uuid(); // 把一个map中的数据封装到javaBean Map<String, Objiect> map = new HashMap<>(); map.put("属性名", 值); ClassName name = CommonUtil.toBean(map, CalssName.class);
JDBC 工具类--jsbcUtils
依赖:commons.dbutils-版本号.jar c3p0-版本号-pre1.jar
用来获取Connection,底层使用了c3p0连接池,还需要mysql驱动
// 获取Connection Connection c = JdbcUtils.getConnection(); // 关闭,如果是事务,就不关闭,不是事务就关闭 JdbcUtils.releaseConnection(c); try { // 事务相关功能 JdbcUtils.beginTransaction(); // 开启事务 // 操作 JdbcUtils.commitTransaction(); // 提交事务 } catch(Exception e) { try { JdbcUtils.rollbackTransaction() // 回滚事务 } catch (SQLException e2) { } }
TxQueryRunner
依赖:commons-dbutils.jar
是QueryRunner 子类,区别:支持事务,底层使用了JdbcUtils来获取连接
三个方法:
update() ---- instert update delete
query() ---- select
batch() ---- 批处理
Sting sql = ""; Object[] params = {}; // 给sql 中对应的参数 // 不用提供对象连接池,内部会使用JdbcUtils来获取连接 QueryRunner qr = new TxQueryRunner(); qr.update(sql, params);
// 事务相关功能 try { JdbcUtils.beginTransaction(); // 开启事务 Sting sql = ""; Object[] param = {}; // 给sql 中对应的参数
QueryRunner qr = new TxQueryRunner(); qr.update(sql, params); JdbcUtils.commitTransaction(); // 提交事务 } catch(Exception e) { try { JdbcUtils.rollbackTransaction() // 回滚事务 } catch (SQLException e2) { } }
// 对于select查询出的数据转换步骤 // javaBean:把结果集封装到javaBean中 // Map:把结果集封装到 Map 中 // 把结果集封装到Object中,(结果集是单行单列) String sql = ""; QueryRunner qr = new TxQueryRunner; /* * 第二个参数类型为 ResultSetHandler, 它是一个接口,表示映射的结果类型 * BeanHandler 它是 ResultSetHandler 的实现类,它的作用是把结果集封装到 Class 对象 */ ClassName name = qr.query(sql, new BeanHandler<Person>(ClassName.class), "sql语句中需要的参数"); // 使用BeanListHandler // 把多行结果集映射到List<Bean> List<ClassName> list = qr.query(sql, new BeanListHandler<ClassName>(ClassName.class)); // 使用MapHandler,把单行结果封装到Map中 Map<String, Object> map = qr.query(sql, new MapHandler()); // 使用MapListHandler,把多行结果封装到Map中 List<Map<String, Object>> mapList = qr.query(sql, new MapListHandler()); // ScalarHandler 把单行单列的结果集封装到Object sql = "select count(*) from table"; Object obj = qr.query(sql, new ScalarHandler()); Number number = (Number) obj; int count = number.intValue();
――人生的价值,不在于得到什么,而在于付出什么。

浙公网安备 33010602011771号