Java获取数据库表 字段 存储的部分数据
在浏览器页面,选中图片(可多选) 》单击删除按钮。
重点是, 本数据库表TabHeBeiTianQi中 存在 同一id,对应的picLocalPath字段 存储了多张图片,图片地址用 逗号隔开
<head> <link href="static/bootstrap-3.3.5-dist/css/bootstrap.css" rel="stylesheet" /> </head> <body>
<span hidden="hidden" id="inputRealNameVal" type="text" value="${sessionScope.loginUser.realName}" ></span><!-- 获取后台登录名 -->
<input type="hidden" id="inputRealNameVal" value="${sessionScope.loginUser.realName}"><!-- 获取后台登录名 -->
<button id="btn_delete" type="button" class="btn btn-default" style="display: none" state="1">
<span class="glyphicon glyphicon-ok" aria-hidden="true" ></span>删除
</button> <!-- 删除弹窗 -->
<div class="modal fade" id="mdl_deleteConfirm">
<div class="modal-dialog" style="width:350px">
<div class="modal-content" style="border-radius:0px">
<div class="modal-header" style="background:#1a3d5c;padding:7px;">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close" style="color:#fff">×</button>
<h4 class="modal-title" style="font-size:14px;color:#fff;">河北天气删除 </h4>
</div>
<div class="modal-body" style="height:50px;">
<div style="display:inline-block;width:100%">
<label style="float:left;margin-right:5px">鉴定人</label>
<input type="text" id="UserName2" style="width:146px" value='${sessionScope.loginUser.realName}' >
</div>
</div>
<div class="modal-footer">
<button type="button" id="btn_deleteConfirm" class="btn btn-primary">确认</button>
<a href="#" class="btn btn-primary" data-dismiss="modal">关闭</a>
</div>
</div>
</div>
</div> <script src="static/js/jquery-1.10.1.min.js"></script> <script src="static/bootstrap-3.3.5-dist/js/bootstrap.js"></script> <script src="static/bootstrap3-dialog/js/bootstrap-dialog.min.js"></script> <script src="static/js/HeBeiTianQi.js"></script> </body>
HeBeiTianQi.jsp页面
$(function(){
//方式1.1 删除选中的图片
$("#btn_delete").click(function(){
if (totalCheckId.length == 0) {
layer.alert('请先选择!', {icon: 0});
return;
}
$('#mdl_deleteConfirm').modal({
show : true,
backdrop : 'static'
});
});
//方式1.2 删除 手动填写删除鉴定人员
$("#btn_deleteConfirm").click(function(){
var user = document.getElementById("UserName2").value;//删除人
if(user==''||user==undefined){
layer.alert('请填写删除鉴定人员姓名!', {icon: 0});
return;
}
var id = totalCheckId.substr(0,totalCheckId.length-1);
var idArr=id.split(",");
var idStr=idArr.join("','");
var idParam="("+"'"+idStr+"'"+")";
var thisPicLocalPathArr=getCheckedImgObjIdAndUrl();
var thisPicLocalPathStr = JSON.stringify(thisPicLocalPathArr);
$.ajax({
url: 'HeBeiTianQi/HeBeiTianQiDelete.data',
type:'post',
dataType:'json',
//参数:所有选中图片ID,所有选中图片url
data:{
idParam: idParam,
thisPicLocalPathStr:thisPicLocalPathStr,
authenticatePeople: $("#UserName2").val()
},
success:function(backResult) {
$('#mdl_deleteConfirm').modal('hide');
layer.alert(backResult.msg, {icon: 0});
reqHeBeiTianQiList(CurrentPageHeBeiTianQi);
}
});
document.getElementById("allSelect").checked = false;
$("#btn_cancel").click();
});
//方式2.1删除选中的图片,方式2.2填写 "自动获取到的 登录名"
$("#btn_delete").click(function(){
if (totalCheckId.length == 0) {
layer.alert('请先选择!', {icon: 0});
return;
}
layer.prompt({title: '请填写筛选人员姓名',value:$("#inputRealNameVal").attr("value")},function(val, index){
if(val==''||val==undefined){
layer.alert('筛选人员姓名不能为空!', {icon: 0});
return;
}
var id = totalCheckId.substr(0,totalCheckId.length-1);
//var idArr=id.split(",");
var thisPicLocalPathArr=getCheckedImgObjIdAndUrl();
var thisPicLocalPathStr = JSON.stringify(thisPicLocalPathArr);
$.ajax({
url: 'HeBeiTianQi/HeBeiTianQiDelete.data',
type:'post',
dataType:'json',
//参数:所有选中图片ID,所有选中图片url
data:{
idParam: id,
thisPicLocalPathStr:thisPicLocalPathStr,
authenticatePeople: $("#UserName2").val()
},
success:function(backResult) {
layer.alert(backResult.msg, {icon: 0});
reqHeBeiTianQiList(CurrentPageHeBeiTianQi);
}
});
document.getElementById("allSelect").checked = false;
$("#btn_cancel").click();
layer.close(index);
});
});
})
/**
* 获取选中图片的id 和 url,返回数组对象[{id:idVal,url:urlVal}];可通过JSON.stringify(res),将返回结果转化为字符串
* @returns {Array}
*/
function getCheckedImgObjIdAndUrl(){
var checkImgUrl=[];
$(".row li .graphic-collection").each(function(index,element){
var isCheck =$(element).find(".ticker").is(":hidden");
if(!isCheck){
var obj={};
var idVal=$(element).find("input[name='iid']").val();
var url=$(element).find("a img").attr("src");
var fileServicePath=G.fileServicePath;
obj.id=idVal;
obj.url=url.substring(fileServicePath.length);
checkImgUrl.push(obj);
}
});
return checkImgUrl;
}
BeiTianQi.js文件
/**
* 河北天气删除
* @param idParam 删除图片的id,多个用,隔开
* @param thisPicLocalPathStr 图片路径,举例数据格式为[{"id":"429","url":"54.jpg"},{"id":"426","url":"23.jpg"}]
* @param authenticatePeople 筛选人员姓名
* @return
*/
@RequestMapping("/HeBeiTianQiDelete.data")
@ResponseBody
public String HeBeiTianQiDelete(String idParam,String thisPicLocalPathStr,String authenticatePeople) {
String backResult= heBeiTianQiService.HeBeiTianQiDelete(idParam,thisPicLocalPathStr,authenticatePeople);
return backResult;
}
HeBeiTianQiController.java
public interface HeBeiTianQiService {
String HeBeiTianQiDelete(String IdParam,String ThisPicLocalPathStr,String AuthenticatePeople);
}
HeBeiTianQiService .java
//删除选中图片
@Override
public String HeBeiTianQiDelete(String IdParam,String ThisPicLocalPathStr,String AuthenticatePeople) {
int[] success = heBeiTianQiDaoImpl.HeBeiTianQiDelete(IdParam,ThisPicLocalPathStr,AuthenticatePeople);
if(success == null){
return BackMsgDTO.errorMsg("您未选中要删除的图片").toString();
}
if(success[2] > 0){
return BackMsgDTO.okMsg(success[1] + "张图片删除成功!" + success[2] + "张图片删除失败!").toString();
}else{
return BackMsgDTO.okMsg(success[1] + "张图片删除成功!").toString();
}
}
HeBeiTianQiServiceImpl .java
/**
* 河北天气删除 选中图片
*/
public int[] HeBeiTianQiDelete(String IdParam, String ThisPicLocalPathStr,String AuthenticatePeople) {
if(StringUtil.isEmpty(IdParam)){
return null;
}
String sql = "select id,picLocalPath from TabHeBeiTianQi where id in ("+IdParam+")";
String picLocalPathStr=this.getJsonStrBySql(sql);
int[] result=new int[3];//定义一个长度为3的int型数组
int sucessCount=0;
int falseCount=0;
int oneResult=0;
try {
JSONArray jsonArray = new JSONArray(picLocalPathStr);
JSONArray thisJsonArray = new JSONArray(ThisPicLocalPathStr);
for(int i=0 ; i < jsonArray.length() ;i++){
//将json数组转换成json对象
JSONObject jsonObject = jsonArray.getJSONObject(i);//JSONObject jsonObject = (JSONObject) jsonArray.get(i);
String idVal = jsonObject.getString("id");//id这里是列名称,获取json对象中列名为id的值
String picLocalPathVal = jsonObject.getString("picLocalPath");
String[] picLocalPathValArr = picLocalPathVal.split(",");
String ResultPicLocalPathValStr = null ;
List<String> oneList = Arrays.asList(picLocalPathValArr);// 将数组转换为list集合
List<String> arrayList = new ArrayList<String>(oneList);// 转换为ArrayLsit调用相关的remove方法
for(int j=0 ; j < thisJsonArray.length() ;j++){
JSONObject thisJsonObject = thisJsonArray.getJSONObject(j);
String thisIdVal = thisJsonObject.getString("id");
String thisPicLocalPathVal = thisJsonObject.getString("url"); //实际获取的字符串中只有1个url
//String[] thisPicLocalPathValArr = thisPicLocalPathVal.split(",");// 不需要分割 ,因为实际传来字符串中只有1个url
if(thisIdVal.equals(idVal)){// 这里不能用idVal==thisIdVal ,因为会根据id清空
arrayList.remove(thisPicLocalPathVal);
/*for(int m=0;m<thisPicLocalPathValArr.length;m++){
arrayList.remove(thisPicLocalPathValArr[m]);
}*/
// 控制台输出演示---- 数组列表
/*for (String str1 : arrayList) {
System.out.println(str1 + ",");
}*/
// ArrayList转成String数组["","",""]
String[] array = arrayList.toArray(new String[0]);
/*for (int n = 0; n < array.length; n++) {
System.out.println("array--> " + array[n]);
}*/
// 方式一将String数组["","",""]转换成String",,"
ResultPicLocalPathValStr= StringUtil.formatStringArrToString(array);
// 方式二将String数组["","",""]转换成String"[,,]"
//ResultPicLocalPathValStr = Arrays.toString(array);
// String格式转换:将String"[,,]"转换成String",,"
//参考 https://zhidao.baidu.com/question/136765761398462045.html
//将字符串转换成json对象
/*JSONObject ResultPicLocalPathVal=new JSONObject();
ResultPicLocalPathVal.put("picLocalPath", ResultPicLocalPathValStr);*/
StringBuffer sqlDelete = new StringBuffer();
String nowDate = TimeUtil.getCurrentDate("yyyy-MM-dd HH:mm:ss");
sqlDelete.append("update TabHeBeiTianQi set picLocalPath= ?,AuthenticateDate = ?,AuthenticatePeople=? where ID = ?");
oneResult= this.executeBySql(sqlDelete.toString(),new Object[]{ResultPicLocalPathValStr,nowDate,AuthenticatePeople,idVal});
if (oneResult>0){
sucessCount=sucessCount+oneResult;//执行成功个数
}else{
falseCount=thisJsonArray.length()-sucessCount;
}
}
}
}
result[0]=oneResult;
result[1]=sucessCount;
result[2]=falseCount;
} catch (JSONException e) {
e.printStackTrace();
}
return result;
}
HeBeiTianQiDaoImpl.java
Java获取数据库表 字段 存储的部分数据的更多相关文章
- JAVA 根据数据库表内容生产树结构JSON数据
1.利用场景 组织机构树,通常会有组织机构表,其中有code(代码),pcode(上级代码),name(组织名称)等字段 2.构造数据(以下数据并不是组织机构数据,而纯属本人胡编乱造的数据) List ...
- java开发_mysql中获取数据库表描述_源码下载
功能描述: 在mysql数据库中,有两张表: data_element_config , test_table 我们需要获取表:test_table表的描述信息,然后把描述信息插入到表:data_el ...
- 【java 获取数据库信息】获取MySQL或其他数据库的详细信息
1.首先是 通过数据库获取数据表的详细列信息 package com.sxd.mysqlInfo.test; import java.sql.Connection; import java.sql.D ...
- (转)java读取数据库表信息,子段
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
- Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...
- MySQL更改数据库表的存储引擎
MySQL更改数据库表的存储引擎 1.查看表的原存储引擎 show create table user; 'user', 'CREATE TABLE `user` (\n `id` int(11) N ...
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- EF获取数据库表名和列名
EF获取数据库表名和列名 新建 模板 小书匠 /// <summary> /// 通过当前DBContext上下文获取对应数据库中所有得表 /// </summary> ...
- Oracle 数据库表中已有重复数据添加唯一键(唯一约束)
Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...
随机推荐
- WebView使用_WebView监听网页下载_DownloadManager使用
最近在做一个较简单的项目:通过一个webview来显示一个网页的App 这个网页有下载的功能,关于这一功能需要用到两个知识点: 1.webview监听网页的下载链接.(webview默认情况下是没有开 ...
- Shell脚本 | 截取包名
之前写 shell 脚本的几篇文章都是先大致介绍脚本的功能和写法,然后一股脑的给出完整的代码.并没有细致入微的解释脚本中的每一行是如何思考如何编写的. 今天反其道而行之,只介绍一行代码.争取能讲的清楚 ...
- String 字符串中含有 Unicode 编码时,转为UTF-8
1.单纯的Unicode 转码 String a = "\u53ef\u4ee5\u6ce8\u518c"; a = new String(a.getBytes("UTF ...
- [深度学习] 最全优化方法总结比较--SGD,Adagrad,Adadelta,Adam,Adamax,Nadam
SGD 此处的SGD指mini-batch gradient descent,关于batch gradient descent, stochastic gradient descent, 以及 min ...
- Java基础之基础语法
前言:Java内功心法之基础语法,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 一个Java程序可以认为是一系列对象的集合,而这些对象通过调 ...
- [POJ 2689] Prime Distance
Description 给定两个整数 \(L,R\;(1\leq L\leq R\leq 2^{31},R-L\leq 10^6)\) ,求闭区间 \([L,R]\) 中相邻两个数最大的差是多少,输出 ...
- 【转】 Apk文件及其编译过程
Apk文件概述 Android系统中的应用程序安装包都是以apk为后缀名,其实apk是Android Package的缩写,即android安装包. 注:apk包文件其实就是标准的zip文件,可以直接 ...
- [转]Angular 2 / 4 / 5 not working in IE11
本文转自:https://stackoverflow.com/questions/35140718/angular-2-4-5-not-working-in-ie11/47777695#4777769 ...
- 基于IDEA的bs三层架构
1.在大学的老师讲课中,可能会用到myeclipse或者eclipse来进行编译运行.其中的缺点就是要自行去下载开发所需要的一些jar包,要考虑都版本的不同造成的影响,且ORACLE和MYSQL的链接 ...
- Tests for Variances
In each case, we'll illustrate how to perform the hypothesis tests of this lesson using summarized d ...