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();

――人生的价值,不在于得到什么,而在于付出什么。



posted @ 2019-03-23 13:58  爱做梦  阅读(274)  评论(0)    收藏  举报