Java类:team.bangbang.common.sql.SQLHelper

Java类:team.bangbang.common.data.RecordData

SQLHelper类和RecordData类配合进行数据库JDBC操作,SQLHelper类从SQLPool类获取数据库Connection,然后使用JDBC操作数据库,操作结果存放在RecordData中。

一、示例代码 - 查询

查询单条记录,使用: 1. SQLHelper.querySingleData() 查询记录 2. RecordData.getSingleXXXX() 获取字段数值

// 数据容器
RecordData wd = new RecordData();

SQLHelper helper = null;
try {
    // 此构造方法中从SQLPool类获取数据库Connection
    helper = new SQLHelper();

    // 查单行数据
    String sql = "select sum(FeeAmount) TotalAmount from fee_fee_base";
    helper.querySingleData(sql, wd);

    System.out.println("总费用是:" + wd.getSingleInt("TotalAmount"));
} catch(Exception ex) {
    log.error(ex);
} finally {
  if(helper != null) helper.close();
}

查询多条记录,使用: 1. SQLHelper.queryMultipleData() 查询多条记录 2. RecordData.next() 循环遍历结果记录集 3. RecordData.getMultipleXXXX(): 获取字段数值

// 查询车辆信息
String sql = "select CarId, CarNo, Price from basis_car_base order by CarNo";
WebData wd = new WebData();
// 第3个参数为false,表示不分页,查询所有的记录
sqlHelper.queryMultipleData(sql, wd, false);
while (wd.next()) {
    // 车牌号
    String carNo = wd.getMultipleString("CarNo");
    // 价格
    double carNo = wd.getMultipleDouble("Price");
    // ......
}

二、示例代码 - 新增

使用: 1. RecordData.setTable() 指定要操作的数据表 2. RecordData.setSingleXXXX() 放入记录数据 3. SQLHelper.insert() 插入记录。 4. RecordData.getSingleXXXX(关键字段) 插入记录之后,可以使用RecordData.getSingleXXXX(关键字段)获取自动创建的关键字段值。

/**
 * 向数据库中插入一条图片上传信息
 * 
 * @param form
 *            需要插入数据库的图片上传信息
 * @return 插入记录的条数
 * @throws ICodeException
 */
public int insert(ImageUpload form) throws ICodeException {
    WebData wd = new WebData();
    wd.setTable("tool_image_upload");

    // 业务单编号
    if (form.getBizNo() != null) {
        wd.setSingleData("BizNo", form.getBizNo());
    }

    // 图片标题
    if (form.getTitle() != null) {
        wd.setSingleData("Title", form.getTitle());
    }

    // 上传的图片地址
    if (form.getImageUrl() != null) {
        wd.setSingleData("ImageUrl", form.getImageUrl());
    }

    // 默认图片地址
    if (form.getDefaultUrl() != null) {
        wd.setSingleData("DefaultUrl", form.getDefaultUrl());
    }

    // 图片编号,用于识别一个业务单下的图片上传,兼用于ASC排序
    if (form.getImageNo() != null) {
        wd.setSingleData("ImageNo", form.getImageNo());
    }

    int nRows = -1;
    try {
        // 设定关键字(如果此处传递进来的值为null,则插入记录前试图创建编号)
        wd.setSingleData("UploadId", form.getId());

        nRows = sqlHelper.insert(wd);

        // 返回创建的关键字的值,如果是系统自动生成的,则此处不返回
        form.setId((Long)wd.getSingleData("UploadId"));

    } catch (SQLException ex) {
        throw new ICodeException(ex);
    }
    return nRows;
} // end method

三、示例代码 - 修改

使用: 1. RecordData.setTable() 指定要操作的数据表 2. RecordData.setSubWhere() 设置限定条件 3. RecordData.setSingleXXXX() 放入需要修改的字段数值 4. SQLHelper.update() 修改记录。

/**
 * 修改图片上传信息,修改使用指定的SQL条件
 * 
 * @param form
 *            需要修改数据库的图片上传信息
 * @param condition
 *            修改条件
 * @return 修改记录的条数
 * @throws ICodeException
 */
public int update(ImageUpload form, String condition) throws ICodeException {
    WebData wd = new WebData();
    wd.setTable("tool_image_upload");

    // 修改条件
    wd.setSubWhere(condition);

    // 业务单编号
    if (form.getBizNo() != null) {
        wd.setSingleData("BizNo", form.getBizNo());
    }

    // 图片标题
    if (form.getTitle() != null) {
        wd.setSingleData("Title", form.getTitle());
    }

    // 上传的图片地址
    if (form.getImageUrl() != null) {
        wd.setSingleData("ImageUrl", form.getImageUrl());
    }

    // 默认图片地址
    if (form.getDefaultUrl() != null) {
        wd.setSingleData("DefaultUrl", form.getDefaultUrl());
    }

    // 图片编号,用于识别一个业务单下的图片上传,兼用于ASC排序
    if (form.getImageNo() != null) {
        wd.setSingleData("ImageNo", form.getImageNo());
    }

    int nRows = -1;
    try {
        nRows = sqlHelper.update(wd);
    } catch (Exception ex) {
        throw new ICodeException(ex);
    }

    return nRows;
} // end method

4、示例代码 - 删除

使用: 1. RecordData.setTable() 指定要操作的数据表 2. RecordData.setSubWhere() 设置限定条件 3. RecordData.setSingleXXXX() 放入其它字段限定条件 4. SQLHelper.delete() 删除记录。

/**
 * 删除图片上传信息
 * 
 * @param form
 *            需要删除的POJO信息
 * @param appendix
 *            附加限定条件
 * 
 * @return 删除的记录条数
 * @throws ICodeException
 */
public int delete(ImageUpload form, String appendix) throws ICodeException {

    WebData wd = new WebData();
    wd.setTable("tool_image_upload");

    wd.setSubWhere(appendix);

    try {
        // 关键字段:编号
        if (form.getId() != null) {
            wd.setSingleData("UploadId", form.getId());
            return sqlHelper.delete(wd);
        }

        // 其它字段

        // 业务单编号
        if (form.getBizNo() != null) {
            wd.setSingleData("BizNo", form.getBizNo());
        }

        // 图片标题
        if (form.getTitle() != null) {
            wd.setSingleData("Title", form.getTitle());
        }

        // 上传的图片地址
        if (form.getImageUrl() != null) {
            wd.setSingleData("ImageUrl", form.getImageUrl());
        }

        // 默认图片地址
        if (form.getDefaultUrl() != null) {
            wd.setSingleData("DefaultUrl", form.getDefaultUrl());
        }

        // 图片编号,用于识别一个业务单下的图片上传,兼用于ASC排序
        if (form.getImageNo() != null) {
            wd.setSingleData("ImageNo", form.getImageNo());
        }

        return sqlHelper.delete(wd);
    } catch (Exception ex) {
        throw new ICodeException(ex);
    } // end try
}