热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringSidedml操作

【修改】方法一:根据id改变他的状态。就一个字段时。首先循环去的id,然后在他的action里遍历的根据id(要修改的字段的idÿ

=========================================================【修改】

方法一:根据id改变他的状态。就一个字段时。

首先循环去的id,然后在他的action里遍历的根据id(要修改的字段的id)查出实体对象,并且赋值setisnotice字段,最后save。

即:find——》set——》save

String[] IdArray=ids.split(",");

                            for(String tempId:IdArray){                                 

                                     Article temp=articleService.getArticleById(Long.parseLong(tempId));

                                     temp.setIsnotice(1L);

                                     articleService.saveArticle(temp);

                            }

方法二:

action里面:

         public String changeIsnotice(){                 

                   try {

                            String[] IdArray=ids.split(",");

                            for(String tempId:IdArray){                                 

                                     articleService.updateIsnoticeState(tempId);

                            }

                   } catch (Exception e) {

                            logger.error("显示出错!",e);

                   }

                   return RELOAD;

         }

service层里:

public void updateIsnoticeState(String isnoticeIds)

    {

                   System.out.println("updateIsnoticeState........ik");

       String hql = "update Article a set a.isnotice = 1 where a.articleid in ("+isnoticeIds+")";

       Query query = this.articleDao.createQuery(hql);

       query.executeUpdate();[d1]             

      

    }

 

方式二:【根据id修改所有的字段,并且弹出一个新页面】

页面传入的值:

                           

                                              

                                                        ${loginName} 

                                                        ${name} 

                                                        ${email} 

                                                        ${roleNames} 

                                                         

                                                                           修改 [d2] 

                                                                           删除

                                                                

                                                       

                                              

                                        

==========================================================【删除】====================================================================

页面传入的值

action内的值:

@Override

         public String delete() throws Exception {

                   try {

                            accountManager.deleteUser(id);

                            addActionMessage("删除用户成功");[d3] 

                   } catch (Exception e) {

                            // TODO Auto-generated catch block

                            e.printStackTrace();

                            addActionMessage("删除用户失败");

                   }

                   return RELOAD;

         }

// 添加删除 操作 要用这个封装数据

         @Override

         protected void prepareModel[d4] () throws Exception {

                   if (id != null) {

                            entity = accountManager.getUser(id);

                   } else {

                            entity = new User();

                   }

                  

         }

 

service内的值:

/**

          * 删除用户,如果尝试删除超级管理员将抛出异常.

          */

         public void deleteUser(Long id) {

                   if (isSupervisor(id)) {

                            logger.warn("操作员{}尝试删除超级管理员用户", SpringSecurityUtils.getCurrentUserName());

                            throw new ServiceException("不能删除超级管理员用户");

                   }

                   userDao.delete(id);[d5] 

         }

 

 

dao内的值:

 

==========================================================【添加】====================================================================

页面传入的值:

增加新用户

 

action内的值:

@Override

         public String save() throws Exception {

                   accountManager.saveUser(entity);

                   return RELOAD;

         }

 

 

service内的值:

public void saveUser(User entity) {

                   userDao.save(entity);

         }

 

dao内的值:

 

==========================================================【查询】====================================================================

页面传入的值

 

action内的值:

 

 

service内的值:

//第一次页面加载所有数据

         public List getAllNode(){     

                   return nodeDao.getAll();

         }

 

/**

          * 使用属性过滤条件查询用户.

          */

         @Transactional(readOnly = true)

         public Page searchUser(final Page page, final List filters) {

                   return userDao.findPage(page, filters);

         }

 

         @Transactional(readOnly = true)

         public User findUserByLoginName(String loginName) {

                   return userDao.findUniqueBy("loginName", loginName);

         }

 

 

dao内的值:

 

==========================================================【动态加载页面】============================================================

页面传入的值

 

action内的值:

         private Page page = new Page(5);//每页5条记录

         page = accountManager.searchUser(page, filters);//保存到page里面

 

service内的值:

         public Page searchUser(final Page page, final List filters) {

                   return userDao.findPage(page, filters);

         }

dao内的值:

         public class UserDao extends HibernateDao

jsp页面的值:

         //默认的是result属性。表示集合里的值

 

===========================================================【底层dao】============================================================

1)返回page分页:     busiGoodsDAO.findPage(page,hql);

2)返回list集合:         busiGoodsDAO.createQuery(hql).list();[d6] 

3)返回String不重复:   this.busiGoodsDAO.createQuery(hql).uniqueResult().toString();[d7] 

4)返回void:                 this.busiGoodsDAO.createQuery(hql);

                            query.executeUpdate();

 

 

 

 

 

 

 

 

 

 


 [d1]更新操作。Sql语句

 [d2]超链接,传id

 [d3]

 [d4]初始化数据,就实现了根据id获得整个实体类

 [d5]调用dao的delete方法,只需要传入id即可,不需要写语句

 [d6]

 [d7]


转:https://www.cnblogs.com/pujiajia/p/3287366.html



推荐阅读
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文详细介绍了 org.apache.commons.io.IOCase 类中的 checkCompareTo() 方法,通过多个代码示例展示其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了 Java 中的 org.apache.hadoop.registry.client.impl.zk.ZKPathDumper 类,提供了丰富的代码示例和使用指南。通过这些示例,读者可以更好地理解如何在实际项目中利用 ZKPathDumper 类进行注册表树的转储操作。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
author-avatar
惬听风吟jyy_802
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有