æç« ç®å½
- å ³äºMybatisPlus
- æ´åMybatisPlus+Lombok
-
- æ·»å ä¾èµ
- æ°æ®åºèæ¬åé ç½®
- MybatisPluså®ç°ç第ä¸ä¸ªæ¥å£
-
- è¿è¡
å ³äºMybatisPlus
æ£å¸¸ç¼åæ°æ®åºè¡¨çcrudæ¥å£æµç¨ï¼ç¼åå®ä½ç±»->ç¼åControllerç±»->ç¼åServiceæ¥å£åç±»->ç¼åDAOç±»->ç¼åXMLæ件
èMybatisPluså·²ç»å°è£ 好äºâ¼äºcrudæ¹æ³ï¼ä¸éè¦ååxmläºï¼ç´æ¥è°ç¨è¿äºæ¹æ³å°±è¡ï¼ç±»ä¼¼JPAä½ä¼äºJPA
æ´åMybatisPlus+Lombok
æ·»å ä¾èµ
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis plusåspringbootæ´å-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
æ°æ®åºèæ¬åé ç½®
èæ¬
CREATE TABLE `banner` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`img` varchar(524) DEFAULT NULL COMMENT 'å¾ç',
`url` varchar(524) DEFAULT NULL COMMENT '跳转å°å',
`weight` int(11) DEFAULT NULL COMMENT 'æé',
`version` int(11) DEFAULT '1',
`deleted` int(11) DEFAULT '0' COMMENT '0æ¯æªå é¤ï¼1æ¯å·²ç»å é¤',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
é ç½®æ件
server.port=8080
#==============================æ°æ®åºç¸å
³é
ç½®========================================
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xdclass?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username =root
spring.datasource.password =root
#é
ç½®mybatis plusæå°sqlâ½å¿
mybatis-plus.configuration.logimpl=org.apache.ibatis.logging.stdout.StdOutImpl
MybatisPluså®ç°ç第ä¸ä¸ªæ¥å£
controllerç±»
@RestController
@RequestMapping("api/v1/banner")
public class BannerController {
@Autowired
private BannerService bannerService;
@RequestMapping("list")
public JsonData list(){
List<BannerDO> list = bannerService.list();
return JsonData.buildSuccess(list);
}
}
modelç±»
@Data
@TableName("banner")//表åæ å°
public class BannerDO {
private Integer id;
private String img;
private String url;
private Integer weight;
}
@TableName
ï¼æ å°æ°æ®åºè¡¨å
serviceæ¥å£åå®ç°ç±»
public interface BannerService {
List<BannerDO> list();
}
@Service
public class BannerServiceImpl implements BannerService {
@Autowired
private BannerMapper bannerMapper;
@Override
public List<BannerDO> list() {
return bannerMapper.selectList(new QueryWrapper<>());
}
}
mapperæ¥å£
public interface BannerMapper extends BaseMapper<BannerDO> {
}
å·¥å ·ç±»
@Data
/**
* ä¼çæä¸ä¸ªå
å«ææåé
*/
@AllArgsConstructor
/**
* çæä¸ä¸ªæ åæ°çæé æ¹æ³
*/
@NoArgsConstructor
public class JsonData {
/**
* ç¶æç 0 表示æåï¼1表示å¤çä¸ï¼-1表示失败
*/
private Integer code;
/**
* æ°æ®
*/
private Object data;
/**
* æè¿°
*/
private String msg;
/**
* æåï¼ä¼ å
¥æ°æ®
* @return
*/
public static JsonData buildSuccess() {
return new JsonData(0, null, null);
}
/**
* æåï¼ä¼ å
¥æ°æ®
* @param data
* @return
*/
public static JsonData buildSuccess(Object data) {
return new JsonData(0, data, null);
}
/**
* 失败ï¼ä¼ å
¥æè¿°ä¿¡æ¯
* @param msg
* @return
*/
public static JsonData buildError(String msg) {
return new JsonData(-1, null, msg);
}
/**
* 失败ï¼ä¼ å
¥æè¿°ä¿¡æ¯,ç¶æç
* @param msg
* @param code
* @return
*/
public static JsonData buildError(String msg, Integer code) {
return new JsonData(code, null, msg);
}
}
è¦ç¹ï¼
- mapperæ¥å£éè¦ç»§æ¿
ï¼Tæ¯å¯¹åºmodelç±»ï¼BaseMapper<T>
- serviceå®ç°ç±»è°ç¨å·²ç»å°è£
好çæ¹æ³
selectList(new QueryWrapper<>())
- ä¸éè¦å该æ¡æ¥è¯¢è¯å¥çxmlæ件
- å ¶ä»ä¸mybatis使ç¨ç¸å