SSM中CRUD操作的注意事项

本文关注数据库操作的方法设计,强调增删改查方法的返回值规定,如查询结果可能为单个对象或集合。同时,详细阐述了resultType和resultMap在映射查询结果到Java对象时的区别和使用场景,特别是当涉及复杂关联关系如一对一和一对多时,如何配置resultMap以实现正确映射。此外,还提及了SQL片段的引入以及HTTP响应中的转发与重定向概念。
摘要由CSDN通过智能技术生成
  1. 注意方法的返回值

  1. 增,删,改方法的返回值都是int/void

  1. 查询操作,返回值由查询的结果决定

  • 如果查询的结果最多只有一条记录(要么一条没有),则返回值为一个实体类的对象User

  • 如果查询的结果可能有多条,则返回的结果为一个泛型集合,List <User>

  1. 注意方法的形参(parameterType)

  1. 如果sql语句没有占位符,则该方法不需要形参

  1. 如果sql语句只有一个占位符,则根据字段类型直接给一个形参

  • 如果参数是基本数据类型以及String类型,在注入值时与形参无关

  1. 如果sql语句有多个占位符,而对应的值可以封装成实体类的对象,则用对象入参User user

  1. 如果sql语句存在多个占位符,而且不能封装成实体类对象,则通过注解@Pram()入参,值注入到#{}

  1. resultType与resultMap的区别(ResultMap和ResultType,它们都是用来表示查询结果集与java对象之间的一种关系,将查询结果集,按照某种关系映射到java对象

  1. resultType与resultMap不能同时使用,只能使用一个

  1. resultType适用于单表查询,并且查询的结果集中的字段名必须和实体类中的成员变量完全一致才能使用

  1. resultMap适用场景:

  • 当进行联表查询,一般都使用resultMap

  • 当进行单表查询,出现查询结果集中字段名与实体类成员变量名不一致也可以使用resultMap

  1. 定义一个resultMap

id:名称自定义,取值唯一

type:配置接口中方法返回值类型

result:用于配置表中字段与实体类中成员变量的对应关系

property:配置实体类中成员变量名称

column:配置表中字段名,有别名则用别名

  1. 配置一对一关联关系(association)

property:配置实体类中一对一关系的对象名称

javaType:配置一对一的实体类的数据类型

通过嵌套查询,实现一对一关联关系

column:取值是当前查询的关联字段名,用于将该字段名的值作为参数传递到嵌套的查询

select:取值是接口全类名.方法名,用于根据关联字段查询对应的功能

  1. 配置一对多关联关系(collection)

property:配置表示一对多关联关系的集合的对象名称

ofType:配置表示一对多关联关系的集合的泛型类型

  1. 引入sql片段

  1. 转发与重定向

  • 如果是目标页面要用,别的页面都不用则用 request

  • 多个页面用同一数据 session

  • 所有用户都要用同一数据 servletContext

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值