记录: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
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
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日