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
}