MyBatis的parameterType传入参数类型和resultType返回结果类型

记录:413

场景:MyBatis的parameterType传入参数类型和resultType返回结果类型。

版本:JDK 1.8,Spring Boot 2.6.3,mybatis-3.5.9。

1.传入参数parameterType是Integer

传入参数类型parameterType:java.lang.Integer。

返回结果类型resultType: java.lang.String。

1.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   String getCity01(Integer cityId);
} 

1.2XML代码




       

2.传入参数parameterType是Long

传入参数类型parameterType: java.lang.Long。

返回结果类型resultType: java.lang.String。

2.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   String getCity02(Long cityId);
}

2.2XML代码




       

3.传入参数parameterType是Double

传入参数类型parameterType: java.lang.Double。

返回结果类型resultType: java.lang.Double。

3.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   Double getCity03(Double gross);
}

3.2XML代码




       

4.传入参数parameterType是String

传入参数类型parameterType: java.lang.String。

返回结果类型resultType: java.lang.Long。

4.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   Long getCity04(String cityName);
}

4.2XML代码




       

5.传入参数parameterType是List

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: java.lang.Long。

5.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   long[] getCity05(List cityIdList);
}

5.2XML代码




       

6.传入参数parameterType是Long[]

传入参数类型parameterType: long[]。

返回结果类型resultType: java.lang.String。

6.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   List getCity06(Long[] cityIdList);
}

6.2XML代码




       

7.传入参数parameterType是Map

传入参数类型parameterType: java.util.Map。

返回结果类型resultType: com.hub.example.domain.CityPO。

7.1Mapper接口代码

@Repository
public interface CityTypeMapper {
  CityPO getCity07(Map cityMap); 
}

7.2XML代码




       

8.传入参数parameterType是CityPO

传入参数类型parameterType: com.hub.example.domain.CityPO。

返回结果类型resultType: java.util.Map。

8.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   Map getCity08(CityPO cityPO);   
}

8.2XML代码




       

9.传入参数parameterType是Date

传入参数类型parameterType: java.util.Date。

返回结果类型resultType: java.lang.String。

9.1Mapper接口代码

@Repository
public interface CityTypeMapper {
  String getCity09(Date date);
}

9.2XML代码




       

10.传入参数parameterType是List

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: com.hub.example.domain.CityPO。

10.1Mapper接口代码

@Repository
public interface CityTypeMapper {
  List getCity10(List paraList);   
}

10.2XML代码




       

11.传入参数parameterType是List

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: java.util.Map。

11.1Mapper接口代码

@Repository
public interface CityTypeMapper {
   List> getCity11(List paraList);
}

11.2XML代码




       

12.测试代码

12.1代码

@Slf4j
@RestController
@RequestMapping("/hub/example/cityType")
public class CityTypeController {
  @Autowired
  private CityTypeMapper cityTypeMapper;
  @GetMapping("/load01")
  public Object load01() {
    log.info("测试开始...");
    // 1.parameterType: java.lang.Integer; resultType: java.lang.String
    String cityName01 = cityTypeMapper.getCity01(2);
    // 2.parameterType: java.lang.Long; resultType: java.lang.String
    String cityName02 = cityTypeMapper.getCity02(1L);
    // 3.parameterType: java.lang.Double; resultType: java.lang.Double
    double landArea = cityTypeMapper.getCity03(1.81D);
    // 4.parameterType: java.lang.String; resultType: java.lang.Long
    long cityId = cityTypeMapper.getCity04("苏州");
    List paraList01 = Arrays.asList(1L, 2L);
    // 5.parameterType: java.util.ArrayList; resultType: java.lang.Long
    long[] population = cityTypeMapper.getCity05(paraList01);
    // 6.parameterType: long[]; resultType: java.lang.String
    Long[] paraList02 = new Long[]{1L, 2L};
    List cityNameList = cityTypeMapper.getCity06(paraList02);
    // 7.parameterType: java.util.Map; resultType: com.hub.example.domain.CityPO
    Map map = new HashMap<>();
    map.put("cityId", 3L);
    map.put("cityName", "苏州");
    CityPO cityPO = cityTypeMapper.getCity07(map);
    // 8.parameterType: com.hub.example.domain.CityPO; resultType: java.util.Map
    CityPO cityPO02 = CityPO.builder().cityId(3L).cityName("苏州").build();
    Map map02 = cityTypeMapper.getCity08(cityPO02);
    // 9.parameterType: java.util.Date; resultType: java.lang.String
    Date date = DateUtil.parse("2023-03-10 05:39:16", "yyyy-MM-dd HH:mm:ss");
    String time = cityTypeMapper.getCity09(date);
    // 10.parameterType: java.util.ArrayList; resultType: com.hub.example.domain.CityPO
    List paraList = Arrays.asList(1L, 2L, 3L);
    List list01 = cityTypeMapper.getCity10(paraList);
    // 11.parameterType: java.util.ArrayList; resultType: java.util.Map
    List paraList03 = Arrays.asList(1L, 2L, 3L);
    List> list02 = cityTypeMapper.getCity11(paraList03);
    log.info("测试结束...");
return "执行成功";
  }
}

12.2测试请求

URL01: http://127.0.0.1:18080/hub-example/hub/example/cityType/load01

13.基础支撑

13.1实体对象

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CityPO implements Serializable {
  private Long cityId;
  private String cityName;
  private Double landArea;
  private Long population;
  private Double gross;
  private String cityDescribe;
  private String dataYear;
  private Date updateTime;
}

13.2建表语句

CREATE TABLE t_city (
  CITY_ID BIGINT(16) NOT NULL COMMENT '唯一标识',
  CITY_NAME VARCHAR(64) COLLATE utf8_bin NOT NULL COMMENT '城市名',
  LAND_AREA DOUBLE DEFAULT NULL COMMENT '城市面积',
  POPULATION BIGINT(16) DEFAULT NULL COMMENT '城市人口',
  GROSS DOUBLE DEFAULT NULL COMMENT '生产总值',
  CITY_DESCRIBE VARCHAR(512) COLLATE utf8_bin DEFAULT NULL COMMENT '城市描述',
  DATA_YEAR VARCHAR(16) COLLATE utf8_bin DEFAULT NULL COMMENT '数据年份',
  UPDATE_TIME DATETIME DEFAULT NULL COMMENT '更新时间'
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='城市信息表';

13.3引入MyBatis依赖

使用mybatis-spring-boot-starter方式引入mybatis,对应mybatis-3.5.9和mybatis-spring-2.0.7核心依赖。


  org.mybatis.spring.boot
  mybatis-spring-boot-starter
  2.2.2

以上,感谢。

2023年4月17日

你可能感兴趣的:(L02-SpringBoot,MyBatis,parameterType,传入参数类型,resultType,返回结果类型)