springBoot项目搭建细节笔记2

1、控制层设计请求、处理请求

设计请求:

      请求映射路径

      请求方式     GET 查询    DELETE 删除    PUT 修改   POST 添加

      请求参数

       返回值     /JSON

处理请求:

@RestController=@Controller+@ResponseBody

@RequestMapping()

 

2、在进行网络数据传输时,为了尽量避免无效数据的传输,可以将无效数据设置成null,一方面可以节省流量,另一方面提高效率

 

3、用户选择默认收货地址的主要细节

1)映射文件中SQL

   <!--Address findByAid(Integer aid); -->
    <select id="findByAid" resultType="Address">
        select * from t_address where aid=#{aid}
    </select>

    <!-- Integer updateNonDefault(@Param("uid") Integer uid); -->
    <update id="updateNonDefault">
        update t_address set is_default=0 where uid=#{uid}
    </update>

    <!-- Integer updateDefaultByAid(@Param("aid") Integer aid,
                               @Param("modifiedUser") String modifiedUser,
                               @Param("modifiedTime") Date modifiedTime);-->
    <update id="updateDefaultByAid">
        update t_address set
           modified_user=#{modifiedUser},modified_time=#{modifiedTime},is_default=1
        where aid=#{aid}
    </update>

 

2)业务层方法中代码逻辑

/**
     * 设置用户的某条收货地址为默认收货地址
     * @param aid  收货地址的aid
     * @param uid  用户uid
     * @param username  表示修改执行的人
     */
    @Override
    public void setDefault(Integer aid, Integer uid, String username) {
        //1、首先判断此条收货地址数据是否存在,不存在则抛出AddressNotFoundException
        Address byAid = mapper.findByAid(aid);
        if(byAid==null)
        {
            throw new AddressNotFoundException("收货地址数据不存在");
        }

        //2、检测当前获取的收货地址数据的归属是否属于该用户 / 非法访问异常
        if(!byAid.getUid().equals(uid))  //Integer 包装类 equals()方法
        {
            throw new AccessDeniedException("非法访问异常");
        }

        //3、先将所有的收货地址设置为非默认的 / 通过影响的行数判断是否更新成功
        Integer row= mapper.updateNonDefault(uid);
        if(row < 1)  //此时最少有一条数据
        {
            throw new UpdateServiceException("用户更新时产生未知的异常");
        }

        //4、根据aid将用户选中的收货地址数据设置为默认的收货地址/ 通过影响的行数判断是否更新成功
        Integer row1 = mapper.updateDefaultByAid(aid, username, new Date());
        if(row1!=1)
        {
            throw new UpdateServiceException("用户更新时产生未知的异常");
        }
    }

 

4、SpringBoot中配置HiddenHttpMethodFilter,在yaml配置文件中配置如下

注意两个配置:①请求方式必须是post;②_method的配置  /put  修改 delete 删除  

spring:
  mvc:
    hiddenmethod:
      filter:
        enabled: true

 

5、模糊查询

/**
* 测试模糊查询 *
 @param mohu 
* @return 
*/
 List<User> testMohu(@Param("mohu") String mohu);  

<!--List<User> testMohu(@Param("mohu") String mohu);-->

 <select id="testMohu" resultType="User"> 
      <!--select * from t_user where username like '%${mohu}%'-->
     <!--select * from t_user where username like concat('%',#{mohu},'%')-->
      select * from t_user where username like "%"#{mohu}"%"
 </select>

 

6、在运行时查看执行的sql语句

在配置文件中进行配置:
logging.level.com.liang.manager_system.mapper=debug  /蓝色字段为mapper接口所在包路径


7、插入sql语句时默认插入时的时间

 


 

 
posted @ 2022-04-17 17:26  Lfollow  阅读(22)  评论(0编辑  收藏  举报