1.aplications.properties配置

springboot2.1后的版本使用的jdbc驱动如下所示,对于的url中,serverTimelyZone表示的是时区。北京时间是东8区。

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
2.MybtisPlus Demo

新建bean和mapper两个目录。

图片说明

再entity中编写user,并使用lombok中的@Data注解代替手写getter,setter和构造器等。

@Data
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

使用快捷键alt+7可以快速看到User的目录结构。
图片说明

在mapper包下新建UserMapper接口。

public interface UserMapper extends BaseMapper<User> {
}

在这个接口继承了BaseMapper接口,这个是MybatisPlus所提供的封装接口,为我们实现了Mapper的一些基础功能,我们可以不用再编写UserMapper.xml文件了。

public interface BaseMapper<T> {
    int insert(T var1);

    int deleteById(Serializable var1);

    int deleteByMap(@Param("cm") Map<String, Object> var1);

    int delete(@Param("ew") Wrapper<T> var1);

    int deleteBatchIds(@Param("coll") Collection<? extends Serializable> var1);

    int updateById(@Param("et") T var1);

    int update(@Param("et") T var1, @Param("ew") Wrapper<T> var2);

    T selectById(Serializable var1);

    List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> var1);

    List<T> selectByMap(@Param("cm") Map<String, Object> var1);

    T selectOne(@Param("ew") Wrapper<T> var1);

    Integer selectCount(@Param("ew") Wrapper<T> var1);

    List<T> selectList(@Param("ew") Wrapper<T> var1);

    List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> var1);

    List<Object> selectObjs(@Param("ew") Wrapper<T> var1);

    IPage<T> selectPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);

    IPage<Map<String, Object>> selectMapsPage(IPage<T> var1, @Param("ew") Wrapper<T> var2);
}

如果读者在这里因为没有Mybatis基础,可能无法体会到Mybatis-Puls的优点,可以参考博客https://www.cnblogs.com/diffx/p/10611082.html学习。

在启动类Mpdemo1010Application中添加注解。

@MapperScan("package com.wangzhou.mpdemo1010.mapper")