亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java實(shí)現(xiàn)刪除某條信息并刷新當(dāng)前頁操作

 更新時間:2020年11月16日 10:37:34   作者:我相信慢思考的力量  
這篇文章主要介紹了java實(shí)現(xiàn)刪除某條信息并刷新當(dāng)前頁操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧~

//執(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ǔ)充知識:關(guān)于分頁時怎么實(shí)現(xiàn)當(dāng)本頁面最后一條記錄被刪除時,自動向上一個頁面跳轉(zhuǎn)的實(shí)現(xiàn)(java實(shí)現(xiàn))

##問題詳解

在做批量刪除時,發(fā)現(xiàn)若批量刪除整頁時,會自動跳到第一頁首頁,而不是返回刪除當(dāng)前頁的上一頁,不符合產(chǎn)品要求且使界面交互不好,給用戶帶來糟糕體驗(yàn)。

##思路詳解

在controller層傳參時要考慮到不僅要傳入需要刪除的id集合,同時傳入pageSize,pageNum以及總條數(shù)集合的查詢條件(如:本示例會傳入groupId(分組id)),在刪除成功后初始化當(dāng)前頁,先根據(jù)查詢條件查詢出總條數(shù)數(shù)量,在pageSize不等于null或?yàn)?的情況下。算出余數(shù)[(pageSize*pageNum-count)%pageSize ].若余數(shù)為0,則當(dāng)前頁等于pageNum-1;若余數(shù)不為0,則當(dāng)前頁=pageNum.將結(jié)果當(dāng)前頁傳給前臺即可。

##后臺代碼實(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ù)錯誤");
 responseObj.setSuccess(true);
 return responseObj;
 }
 ServiceResult<Long> serviceResult = dubboStudentGroupService .deleteCorpGroup(idList, groupId);
 if(!serviceResult.getSuccess()){
 throw new RuntimeException("分組下學(xué)生查詢失敗");
 }
 //應(yīng)前端要求加此dto,封裝傳給前臺的當(dāng)前頁屬性
 CurrenPageDto currenPageDto=new CurrenPageDto();
 //初始化當(dāng)前頁
 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ù)條件查詢對應(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ù)條件查詢對應(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ù)條件查詢對應(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ù)條件查詢對應(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)建時間 
 * @字段: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;

 /**
 * @描述:更新時間 
 * @字段: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)前頁操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解讀yml文件中配置時間類型的轉(zhuǎn)換方式

    解讀yml文件中配置時間類型的轉(zhuǎn)換方式

    這篇文章主要介紹了yml文件中配置時間類型的轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 使用jenkins部署springboot項(xiàng)目的方法步驟

    使用jenkins部署springboot項(xiàng)目的方法步驟

    這篇文章主要介紹了使用jenkins部署springboot項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Springmvc的運(yùn)行流程圖文詳解

    Springmvc的運(yùn)行流程圖文詳解

    今天小編就為大家分享一篇關(guān)于Springmvc的運(yùn)行流程圖文詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • java冒泡排序算法代碼

    java冒泡排序算法代碼

    這篇文章介紹了java冒泡排序算法代碼,有需要的朋友可以參考一下
    2013-10-10
  • Java自定義映射resultMap定義及用法

    Java自定義映射resultMap定義及用法

    MyBatis的每一個查詢映射的返回類型都是ResultMap,當(dāng)我們提供返回類型屬性是resultType時,MyBatis會自動給我們把對應(yīng)值賦給resultType所指定對象的屬性,當(dāng)我們提供返回類型是resultMap時,將數(shù)據(jù)庫中列數(shù)據(jù)復(fù)制到對象的相應(yīng)屬性上,可以用于復(fù)制查詢,兩者不能同時用
    2022-11-11
  • StringBuffer與StringBuilder底層擴(kuò)容機(jī)制與常用方法

    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文件上傳下載示例

    本篇文章主要介紹了基于Spring Mvc實(shí)現(xiàn)的Excel文件上傳下載示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • Sparsearray稀疏數(shù)組原理及實(shí)例詳解

    Sparsearray稀疏數(shù)組原理及實(shí)例詳解

    這篇文章主要介紹了Sparsearray稀疏數(shù)組原理及實(shí)例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 通過實(shí)例了解JavaBean開發(fā)及使用過程解析

    通過實(shí)例了解JavaBean開發(fā)及使用過程解析

    這篇文章主要介紹了通過實(shí)例了解JavaBean開發(fā)及使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 詳解如何將JAR包發(fā)布到Maven中央倉庫

    詳解如何將JAR包發(fā)布到Maven中央倉庫

    這篇文章主要介紹了詳解如何將JAR包發(fā)布到Maven中央倉庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01

最新評論