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")