坚持学习第一天 SpringBoot 2.x整合MyBatis-Plus 3.1.1
本文主要涉及:MySQL 5.x,SpringBoot 2.x,MyBatis-Plus 3.1.1,Maven 3.x等
Maven 翻译为"专家"、“内行”,是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目
系统说明:window 10,Java,Apache Maven 3.5.0,SpringBoot 2.1.5(Idea默认) ,H2(一个开源的、纯java实现的关系数据库),MyBatis-plus 3.1.1
3.设置依赖包,在弹窗中可以根据需要设置依赖包,这里我暂时只选择:Core->Lombok(使用Lombok记得要安装Idea插件
选择好依赖包后点击***Next***
因为第一次写,所以赘述了一下项目创建过程!SpringBoot的基础知识本文不作记录若有需要请参考:SpringBoot知识
创建完成后,项目基本结构如下图:
com.baomidou
mybatis-plus-boot-starter
3.1.1
6.配置myabtis-plus,修改默认的application.properties为application.yml(个人习惯使用yml配置),添加数据库的配置与mybatis-plus配置
7.然后创建对应得model(我放在了domain目录),Mapper,service,及Controller具体见代码,
package com.cooper.module.user.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 用户信息
*/
@Data
public class User {
@TableId(value = "id",type = IdType.ID_WORKER)
private Long id;
@TableField("name")
private String name;
@TableField("age")
private Integer age;
@TableField("email")
private String email;
@TableField("create_time")
private LocalDateTime createTime;
}
package com.cooper.module.user.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cooper.module.user.domain.User;
public interface UserMapper extends BaseMapper {
}
package com.cooper.module.user.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cooper.module.user.domain.User;
public interface IUserService extends IService {
}
/** ------------------------------------------------------------------------------------------**/
package com.cooper.module.user.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cooper.module.user.domain.User;
import com.cooper.module.user.mapper.UserMapper;
import com.cooper.module.user.service.IUserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
@Transactional
public class UserServiceImpl extends ServiceImpl implements IUserService {
}
package com.cooper.module.user.controller;
import com.cooper.module.user.domain.User;
import com.cooper.module.user.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping("/list")
@ResponseBody
public List listOfUser(){
return userService.list();
}
}
太晚了不写明细了,后续完善。
从上面我们可以MP带来了好处就是基本的单表操作是可以不写任何SQL与Dao层代码的,甚至如果不涉及复杂业务的连service也省了【有人可能就会说JPA不就是这样的吗?其实我不是很清楚,JPA用的不多,个人只是觉得mybatis更灵活点,而mp正如它的描述,只做增强不做改变,为简化开发、提高效率而生,解放你的双手。
当然他们肯定是各有优势的,根据自己的需求选择,适合自己的才是最好的】
启动后可以查看SpringBoot及MybatisPlus对应日志版本信息;
第一次写诸多不完善的地方望见谅,主要做为学习笔记记录,最后附上项目代码地址
以上就是作为一个JAVA菜鸟的第一次学习笔记总结了,若有缘人看到欢迎批评指正,相互学习,相互进步!