java實(shí)現(xiàn)刪除某條信息并刷新當(dāng)前頁(yè)操作
我就廢話不多說了,大家還是直接看代碼吧~
//執(zhí)行的是刪除信息的操作
String a=request.getParameter("name");
a = URLEncoder.encode(a, "ISO-8859-1");
String name = URLDecoder.decode(a, "UTF-8");
String num=request.getParameter("num");
System.out.println("name:"+name+"num:"+num);
String sql="delete from person_info where name=? and num=?";
String sz[]={name,num};
JdbcUtils.update(sql, sz);
//刷新操作
String sqls="select * from person_info";
ResultSet rs=JdbcUtils.select(sqls, null);
ArrayList<Person_info> list=new ArrayList<Person_info>();
try {
while(rs.next()){
Person_info pi=new Person_info(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6));
list.add(pi);
}
request.setAttribute("list", list);
request.getRequestDispatcher("Personnel_definition.jsp").forward(request, response);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

補(bǔ)充知識(shí):關(guān)于分頁(yè)時(shí)怎么實(shí)現(xiàn)當(dāng)本頁(yè)面最后一條記錄被刪除時(shí),自動(dòng)向上一個(gè)頁(yè)面跳轉(zhuǎn)的實(shí)現(xiàn)(java實(shí)現(xiàn))
##問題詳解
在做批量刪除時(shí),發(fā)現(xiàn)若批量刪除整頁(yè)時(shí),會(huì)自動(dòng)跳到第一頁(yè)首頁(yè),而不是返回刪除當(dāng)前頁(yè)的上一頁(yè),不符合產(chǎn)品要求且使界面交互不好,給用戶帶來糟糕體驗(yàn)。
##思路詳解
在controller層傳參時(shí)要考慮到不僅要傳入需要?jiǎng)h除的id集合,同時(shí)傳入pageSize,pageNum以及總條數(shù)集合的查詢條件(如:本示例會(huì)傳入groupId(分組id)),在刪除成功后初始化當(dāng)前頁(yè),先根據(jù)查詢條件查詢出總條數(shù)數(shù)量,在pageSize不等于null或?yàn)?的情況下。算出余數(shù)[(pageSize*pageNum-count)%pageSize ].若余數(shù)為0,則當(dāng)前頁(yè)等于pageNum-1;若余數(shù)不為0,則當(dāng)前頁(yè)=pageNum.將結(jié)果當(dāng)前頁(yè)傳給前臺(tái)即可。
##后臺(tái)代碼實(shí)現(xiàn)
#controller層#
@Api(description = "分組下的學(xué)生",value = "分組下的學(xué)生")
@RestController
@RequestMapping("studentGroup")
public class StudentGroupController {
@Autowired
private RestStudentGroupService restStudentGroupService;
@RequestMapping(value = "deleteGroupStudent",method = RequestMethod.POST)
@ApiOperation(value = "刪除分組中的學(xué)生",notes = "刪除分組中的學(xué)生")
public ResponseObj deleteGroupStudent(@RequestParam(value = "groupId",required = true)Long groupId,
@RequestParam(value = "ids",required = true)String ids,
@RequestParam(value = "pageSize",required = false)Integer pagesize,
@RequestParam(value = "pageNum",required = false)Integer pageNum){
return restStudentGroupService.deleteGroupStudent(groupId,ids,pagesize,pageNum);
}
}
#service層#
@FeignClient(value = ServiceName.VALUE)
public interface RestStudentGroupService {
@RequestMapping(value = "/school/cloud/student/deleteGroupStudent",method = RequestMethod.POST)
public ResponseObj deleteGroupStudent(@RequestParam(value = "groupId")Long groupId,
@RequestParam(value = "ids")String ids,
@RequestParam(value = "pageSize")Integer pagesize,
@RequestParam(value = "pageNum")Integer pageNum);
}
#serviceImpl層#
@Service
public class RestStudentGroupServiceImpl implements RestStudentGroupService {
@Autowired
private DubboStudentGroupService dubboStudentGroupService ;
@Override
public ResponseObj deleteGroupStudent(Long groupId,String ids,Integer pageSize,Integer pageNum) {
List<Long> idList = TextUtils.split(ids);
if(groupId == null || idList== null || idList.size() == 0){
ResponseObj responseObj = ResponseObj.ERROR("參數(shù)錯(cuò)誤");
responseObj.setSuccess(true);
return responseObj;
}
ServiceResult<Long> serviceResult = dubboStudentGroupService .deleteCorpGroup(idList, groupId);
if(!serviceResult.getSuccess()){
throw new RuntimeException("分組下學(xué)生查詢失敗");
}
//應(yīng)前端要求加此dto,封裝傳給前臺(tái)的當(dāng)前頁(yè)屬性
CurrenPageDto currenPageDto=new CurrenPageDto();
//初始化當(dāng)前頁(yè)
Integer currentPage = 1;
//查出該分組id下的學(xué)生數(shù)量
ServiceResult<Long> itemCountLongs = dubboStudentGroupService.getTotalCount(groupId);
Long itemCountLong= itemCountLongs.getResult();
Integer itemCount = itemCountLong!=null ? itemCountLong.intValue() : 0;
//"查詢到學(xué)生數(shù)量:{},pageSize:{}", itemCount,pageSize;
if(pageSize != null && pageSize != 0){
//算出余數(shù)
Integer temp = (pageNum*pageSize-itemCount)%pageSize;
if(temp == 0){
//余數(shù)為0的話就pageNum-1
currentPage = (pageNum - 1) == 0 ? 1 : (pageNum -1) ;
}else {
//余數(shù)不為0則等于pageNum
currentPage = pageNum;
}
currenPageDto.setPresentPage(currentPage);
}
ResponseObj responseObj = ResponseObj.SUCCESS();
responseObj.setData(currenPageDto);
return responseObj;
}
}
#dubbo接口的service層#
①://刪除分組下的學(xué)生 ServiceResult<Long> deleteCorpGroup(List<Long> idList,Long groupId); ②://根據(jù)條件查詢對(duì)應(yīng)的條目總數(shù) ServiceResult<Long> getTotalCount(Long groupId);
#dubbo接口的serviceImpl層#
①://刪除分組下的學(xué)生
@Override
public ServiceResult<Long> deleteCorpGroup(List<Long> idList, Long groupId) {
ServiceResult<Long> result = new ServiceResult<>();
try {
studentGroupDao.deleteCorpGroup(idList, groupId);
} catch (Exception e) {
log.error("調(diào)用{}方法 異常", "[RestStudentGroupServiceImpl .deleteCorpGroup]");
log.error("方法使用參數(shù):[idList:{},groupId:{}]", idList, groupId);
log.error("異常信息:{}", e);
result.setErrMessage("調(diào)用deleteCorpGroup方法異常,異常信息:" + e.getMessage());
}
return result;
}
②://根據(jù)條件查詢對(duì)應(yīng)的條目總數(shù)
@Override
public ServiceResult<Long> getTotalCount(Long groupId) {
ServiceResult<Long> result = new ServiceResult<>();
try {
long count = studentGroupDao.getFindCorpGroupDirectoryCount(groupId);
result.setResult(count);
} catch (Exception e) {
log.error("調(diào)用{}方法 異常", "[RestStudentGroupServiceImpl .getTotalCount]");
log.error("方法使用參數(shù):[groupId:{}]", groupId);
log.error("異常信息:{}", e);
result.setErrMessage("調(diào)用getTotalCount方法異常,異常信息:" + e.getMessage());
}
return result;
}
#dubbo接口的dao層#
①://刪除分組下的學(xué)生 Long deleteCorpGroup(@Param(value = "idList") List<Long> idList,@Param(value = "groupId") Long groupId); ②://根據(jù)條件查詢對(duì)應(yīng)的條目總數(shù) Long getFindCorpGroupDirectoryCount(@Param(value = "groupId") Long groupId);
#dubbo接口的sql#
①://刪除分組下的學(xué)生
<delete id="deleteCorpGroup">
delete from student_group where group_id = #{groupId} and id in
<foreach collection="idList" index="index" separator="," item="id"
open="(" close=")">
#{id}
</foreach>
</delete>
②://根據(jù)條件查詢對(duì)應(yīng)的條目總數(shù)
<select id="getFindCorpGroupDirectoryCount" resultType="long">
SELECT COUNT(1)
FROM student_group
where group_id = #{groupId}
</select>
#Entity類(學(xué)生分組類)#(get,set函數(shù)省略)
public class StudentGroup implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
/**
* @描述:
* @字段:id BIGINT(19)
*/
private Long StudentGroupId;
/**
* @描述:
* @字段:group_id BIGINT(19)
*/
private Long groupId;
/**
* @描述:
* @字段:id BIGINT(19)
* 此id為學(xué)生表id
*/
private Long id;
/**
* @描述:創(chuàng)建時(shí)間
* @字段:create_time DATETIME(19)
*/
private java.util.Date createTime;
* @描述:創(chuàng)建人用戶名
* @字段:create_user_name VARCHAR(30)
*/
private String createUserName;
/**
* @描述:創(chuàng)建人用戶ID
* @字段:create_user_id BIGINT(19)
*/
private Long createUserId;
/**
* @描述:更新時(shí)間
* @字段:update_time DATETIME(19)
*/
private java.util.Date updateTime;
* @描述:更新人用戶名
* @字段:update_user_name VARCHAR(30)
*/
private String updateUserName;
/**
* @描述:更新人用戶ID
* @字段:update_user_id BIGINT(19)
*/
private Long updateUserId;
}
#Entity類(學(xué)生類)#(get,set函數(shù)省略)
public class Student implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private String name ;
private Integer age;
}
以上這篇java實(shí)現(xiàn)刪除某條信息并刷新當(dāng)前頁(yè)操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解讀yml文件中配置時(shí)間類型的轉(zhuǎn)換方式
這篇文章主要介紹了yml文件中配置時(shí)間類型的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
使用jenkins部署springboot項(xiàng)目的方法步驟
這篇文章主要介紹了使用jenkins部署springboot項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
StringBuffer與StringBuilder底層擴(kuò)容機(jī)制與常用方法
這篇文章主要給大家介紹了StringBuffer、StringBuilder底層擴(kuò)容機(jī)制與常用方法,有感興趣的小伙伴跟著小編一起來學(xué)習(xí)吧2023-07-07
基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例
本篇文章主要介紹了基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
Sparsearray稀疏數(shù)組原理及實(shí)例詳解
這篇文章主要介紹了Sparsearray稀疏數(shù)組原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05
通過實(shí)例了解JavaBean開發(fā)及使用過程解析
這篇文章主要介紹了通過實(shí)例了解JavaBean開發(fā)及使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
詳解如何將JAR包發(fā)布到Maven中央倉(cāng)庫(kù)
這篇文章主要介紹了詳解如何將JAR包發(fā)布到Maven中央倉(cāng)庫(kù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01

