当前位置: 首页 > wzjs >正文

建筑工程有哪些项目seo搜索引擎优化报价

建筑工程有哪些项目,seo搜索引擎优化报价,域名链接网站,wp网站如何做文件的付费下载实战第六课:文章分类开发 新增文章分类: 具体实现: 1.Controller层需要对传过来的json数据先进行RequestBody处理,将其转化为Java对象,然后在Validated处理,校验参数是否合法(即分类名和分类…

实战第六课:文章分类开发

新增文章分类:

 

具体实现: 

1.Controller层需要对传过来的json数据先进行@RequestBody处理,将其转化为Java对象,然后在@Validated处理,校验参数是否合法(即分类名和分类别名不能为空)

2.service层,注意要为category对象通过ThreadLocal添加createUser属性,不然为空会报错;

 3.Mapper层Insert数据:

查询文章分类:

具体实现:

1.Controller层。

2.实体类,注意@NotEmpty不仅查明是否为Null还会查明是否为空。@JsonFormat可以在实体转化为json数据后指定格式。在前面学的@JsonIgnore可以忽略在实体转化为Json时忽略属性;

3.service层,记得把ID也传过去:

4.Mapper层:

获取文章分类的详情

获取文章详情就不写了,和上面几乎一样;

更新文章分类: 

注意点:

1.前端传来的Json数据通过@RequestBody转为category对象。@前端传来的参数通过@Validated来校验;

对校验规则进行分组:

1.如何定义分组?在实体类里面定义接口。

如何对校验项进行分组?通过groups属性进行赋值;

如何使用指定分组校验?给@validated注解的Value属性赋值,如下我们将其给了update校验组:

注意默认校验组是Default。 

学习时的疑惑:

1.@Notempty和@NotNull的区别是啥

@NotEmpty@NotNull 是 Java 中常用的注解,主要用于数据校验,但它们的作用和应用场景有所不同。

1. @NotNull
  • 定义@NotNull 是一个校验注解,用于检查某个字段是否为 null。如果字段值为 null,则校验失败。

  • 作用范围:可以应用于任何类型的字段,包括基本数据类型(如 intdouble 等)、包装类(如 IntegerDouble 等)、对象类型(如 String、自定义对象等)。

  • 示例

    public class User {@NotNull(message = "用户名不能为空")private String username;
    }

    如果 usernamenull,校验会失败,并抛出异常(通常由校验框架处理)。

2. @NotEmpty
  • 定义@NotEmpty 是一个校验注解,用于检查某个字段是否为空。它不仅检查字段是否为 null,还会检查集合、数组、字符串等是否为空。

  • 作用范围:通常用于集合(如 ListSet)、数组、字符串等类型。对于字符串,它会检查字符串是否为 null 或长度为 0;对于集合和数组,它会检查是否为 null 或长度为 0

  • 示例

    public class User {@NotEmpty(message = "用户名不能为空")private String username;@NotEmpty(message = "用户角色不能为空")private List<String> roles;
    }
    • 如果 usernamenull 或长度为 0(即空字符串),校验失败。

    • 如果 rolesnull 或为空集合(roles.size() == 0),校验失败。

3. 区别
  • 校验内容

    • @NotNull 只检查字段是否为 null,不关心字段的具体内容。

    • @NotEmpty 除了检查字段是否为 null,还会检查内容是否为空(如字符串长度为 0,集合或数组为空)。

  • 适用场景

    • @NotNull 适用于所有类型的字段,尤其是那些不能为 null 的字段。

    • @NotEmpty 更适合用于集合、数组和字符串等类型,确保它们不仅不为 null,而且有实际内容。

4. 补充说明
  • @NotBlank:这是另一个与 @NotEmpty 类似的注解,但只适用于字符串。它不仅检查字符串是否为 null 或空字符串,还会检查字符串是否只包含空白字符(如空格、制表符等)。例如:

    @NotBlank(message = "用户名不能为空或空白")
    private String username;

    如果 usernamenull、空字符串或只包含空白字符(如 " "),校验失败。

  • 框架支持:这些注解通常由校验框架(如 Hibernate Validator)提供支持,用于在运行时自动校验字段值。

总结来说,@NotNull@NotEmpty 的主要区别在于 @NotEmpty 会进一步检查字段的内容是否为空,而 @NotNull 只检查是否为 null

 实战第七课:文章管理接口实现

新增文章:

 自定义校验:

具体实现: 

1.自定义注解State,这个注解要有message、group、payload三个方法,其他的元注解要看明白它的作用,如Constraint它指明包含校验规则的类,Target指明可以在哪些部分使用,Retention指明可以保留在哪些运行阶段:

 2.包含效验规则的类,需要实现constraintValidator接口,注意<1,2>前后两个参数的作用。重写isValid方法提供效验规则:

 3.此时我们就可以用这个自定义的效验注解用于参数校验,它会阻挡不是“草稿”和“已发送”的参数。

文章列表查询(条件分页):

具体实现:

1.Controller层

注意前端传来的参数里categoryId和State是不一定会传的,所以要给他们加@RequestParam(requird=false)这个注解标明可能不会传。 

我们还设置了一个PageBean实体类用于存储页面数据,里面包含数据条数和数据。

2.service层

1.首先在service层我们要创建一个PageBean对象用于返回数据。

2.开启分页查询插件PageHelper,这个插件可以帮助进行分页查询,也就是在SQL语句后插入limit a,b。注意开启这个插件后,Mapper执行SQL语句返回的是Page<>对象而非List<>对象,需要进行强转否则数据不对。

3.调用Mapper,注意获取用户ID,用户只能查询自己的文章。

3.Mapper层

由于在Mapper里直接实现动态SQL是很复杂的,所以我们使用映射配置文件实现动态SQL。

注意namespace指明映射的是哪个Mapper类,id指明映射的方法,resultType指返回的实体类。

还要注意语法:

<mapper namespace="com.itheima.mapper.ArticleMapper"><!--映射配置文件实现动态SQL--><select id="list" resultType="com.itheima.pojo.Article">select * from article<where><if test="categoryId!=null">category_id=#{categoryId}</if><if test="state!=null">and state=#{state}</if>and create_user = #{userId}</where></select>
</mapper>

 总结:注意这一课我们学习了分页查询和条件分支(动态SQL)的实现这是很重要的知识点。

 一些疑惑: 

1.在service中为什么为啥不直接用as填充数据?

虽然 as 是一个 List<Article>,但它实际上是通过 PageHelper 分页插件处理后的结果。PageHelper 会将查询结果包装成一个特殊的 Page 类型对象(继承自 ArrayList),这个对象不仅包含了分页数据,还提供了额外的分页信息,如总记录数、总页数等。因此,直接使用 Page 对象来填充 PageBean 是更合理的选择。

实战第八课:文件上传

 具体实现:

创建一个新的Controller类用于文件上传。在这里我们使用Multipartfile实现文件上传。注意使用UUID产生一个随机的uid避免文件名重复导致覆盖。

 如何上传到阿里云服务器?

1.在阿里云创建好oss对象存储的bucket

2. 建立依赖并且创建阿里云上传文件的工具类,注意四个属性endpoint,ACCESS_KEY_ID,SECRET_ACCESS_KEY,bucket_name的意义和用处:

3.Controller层调用工具类方法,注意传入文件的输入流,通过MultipartFile类的方法:

 成功~

http://www.dtcms.com/wzjs/164327.html

相关文章:

  • 廊坊哪里有做网站建设的搜图片找原图
  • 做外贸soho网站的公司吗seo优化厂商
  • 介绍一下比较靠谱的网站网络营销与直播电商怎么样
  • 湖北网站建设价格优化方法
  • 好123上网主页关键词优化排名详细步骤
  • 建设银行官网站下载中国科技新闻网
  • 云上网站做等保如何在百度发布广告
  • sql2008做网站seo怎么赚钱
  • wordpress小说主题模板下载seo 推广教程
  • 温州网站建设wzwmwl网络游戏推广平台
  • 电子商务网站开发的步骤谷歌手机版下载安装
  • 怎样做企业营销网站郑州seo线上推广系统
  • 西安学校部门定制网站建设公司外贸seo软文发布平台
  • 如何做网站栏目外贸展示型网站建设公司
  • 做网站怎么云存储十大微商推广平台
  • 东营建网站百度搜索量怎么查
  • wordpress 分类列表插件seo网络营销技巧
  • 网站域名做跳转要收费吗百度站长工具链接提交
  • 网站建设交付2022年最好用的搜索引擎
  • 站长推荐自动跳转百度的网址是什么呢
  • 泉州做网站的公司湖南seo优化报价
  • 网站建设 设备济南做网站公司哪家好
  • 已经有网站了 怎么做app网络推广优化是干啥的
  • 长春做网站4435seo优化是指
  • 杭州网站开发招聘厦门谷歌seo公司
  • 网站信息内容建设谷歌seo什么意思
  • 沈阳的网站制作公司种子搜索神器
  • 河北建设工程信息网官网官网官如何优化seo技巧
  • 建材网站建设功能方案上海抖音seo公司
  • 网站内容与目录结构百度注册网站怎么弄