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 ...
随机推荐
- JavaSE-关键字final
final修饰数据: final修饰基本数据类型,使数值恒定不变,修饰对象引用,final使引用恒定不变 final修饰的成员变量必须要被初识化 final可以修饰方法中的参数列表,被修饰的参数无法在 ...
- DeepLab 使用 Cityscapes 数据集训练模型
原文地址:DeepLab 使用 Cityscapes 数据集训练模型 0x00 操作环境 OS: Ubuntu 16.04 LTS CPU: Intel® Core™ i7-4790K GPU: Ge ...
- tf.estimator.Estimator类的用法
官网链接:https://www.tensorflow.org/api_docs/python/tf/estimator/Estimator Estimator - 一种可极大地简化机器学习编程的高阶 ...
- MongoDB-副本集搭建与管理
目录 MongoDB 副本集 一.副本集概念 二.副本集部署 三 .副本集维护 四.注意事项 MongoDB 副本集 一.副本集概念 单节点的 MongoDB 在数据的安全和冗余方面是比较低的,在生产 ...
- linux centos7 root密码重置
转:http://blog.chinaunix.net/uid-21209618-id-4738916.html 分类: LINUX 三年左右没接触linux技术工作,忘记的有很多.不知该怎么去运用. ...
- win32编程简介
win32编程简介 复习Win32整理下知识. 为什么学习win32? 我们要编写windos程序.都离不开API. 也就是我们所说的win32程序. 所以学好win32是你能不能再windows下编 ...
- shiro源码篇 - shiro的session共享,你值得拥有
前言 开心一刻 老师对小明说:"乳就是小的意思,比如乳猪就是小猪,乳名就是小名,请你用乳字造个句" 小明:"我家很穷,只能住在40平米的乳房" 老师:" ...
- springboot+cloud 学习(三)消息中间件 RibbitMQ+Stream
安装RabbitMQ window下安装: (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/dow ...
- HAPRoxy(一):HAProxy基本配置、调度算法与tcp、http、heath模式配置示例
一.HAProxy安装 1.HAProxy简单介绍 HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡. 2.yum安装HAProxy ...
- vi/vim使用
移动光标上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行下:j nj:向下移动n行左:h nh:向左移动n列右:l nl:向右移动n列 w:光标以单词向前移动 nw:光标向前 ...