• 喜欢前端以及PHP的朋友们可以加PHP同好会QQ群 点击加入qq群
  • 最近在写一个项目---"小A微信托管平台",大家可以去帮忙测试一下!功能在不断完善中,敬请关注!点击进入
  • 本站使用了PHP8.1与HTTP2.0协议,速度简直超级快有木有?

Spring Boot2 学习笔记之导入MyBatis-Plus(五)

后端 Mr.Adam 4年前 (2021-03-31) 1463次浏览 已收录 0个评论

Spring Boot2 学习笔记之导入 MyBatis-Plus(五)

Spring Boot2 学习笔记之导入 MyBatis-Plus(五)

首先准备pom.xml文件

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>

第一步需要在 mysql 创建一个 user 表

CREATE TABLE user
(
	id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);

然后创建我们的 user 实体类
User.java

@Data
@TableName("user")
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

在我们的项目 class 根目录中创建一个 mapper 文件夹,里面是数据库操作 mapper
里面加入我们的第一个 mapper UserMapper,它继承自BaseMapper

@Component
@Mapper
public interface UserMapper extends BaseMapper<User> {

}

在 Application.java 文件中指定 mapper 路径

@SpringBootApplication
@MapperScan("com.jdbc.demo.mapper") #/在 class 跟目录下的 mapper 目录下
public class JdbcApplication {

    public static void main(String[] args) {
        SpringApplication.run(JdbcApplication.class, args);
    }
}

这样我们就创建好了一个针对 user 表的 mapper
可以在 controller 中使用了

    @Autowired
    UserMapper userMapper;

    //查询所有用户的信息
    @GetMapping("userlist")
    public List getUsers(){
        List<User> userList = userMapper.selectList(null);
        return userList;
    }

    //根据 id 进行查询
    @GetMapping("user/{id}")
    public Map<String,Object> getOneUser(@PathVariable("id") Long id){
        User user = userMapper.selectById(id);
        Map<String,Object> res = new HashMap<>();
        res.put("userinfo",user);
        return res;
    }

通常开发中经常要代码复用,直接写在 controller 中不是太好,我们可以通过创建UserService的方式来操作数据库
创建一个UserService的接口
在这里继承自com.baomidou.mybatisplus.extension.service.IService

public interface UserService extends IService<User> {

}

并编写一个UserService的实现类

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

这样我们就可以在Controller中使用UserService来返回数据了,代码如下:

    @Autowired
    UserService UserService;
    //查询年龄大于 20 岁的用户数量
    @GetMapping("user/count")
    public Map<String ,Object> testUserService(){
        Map<String,Object> res = new HashMap<>();
        QueryWrapper<User> UserWhere = new QueryWrapper<>();
        UserWhere.gt("age",20);
        res.put("user:count",UserService.count(UserWhere));
        return res;
    }

简单的MyBatis-Plus今天就先学到这里了,期待后面更复杂的应用 :cool:


小 A 空间 , 版权所有丨如未注明转载 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Spring Boot2 学习笔记之导入 MyBatis-Plus(五)
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址