Mybatis-plus笔记

mybatisplus教案:https://www.kuangstudy.com/bbs/1366329082232467457
mybatisplus文档:https://mp.baomidou.com/guide/

1.快速体验
    原来是先pojo,再写mapper接口,在写xml
    现在是,先写pojo,在写mapper接口,接口继承BaseMapper
        @Repository//代表持久层
        public interface UserMapper extends BaseMapper<User> {
            //所有CRUD操作都编写完成了,不用像以前一样配置一大堆文件
        }

    并且在主启动类添加@MapperScan注解
        //扫描mapper包下的所有接口
        @MapperScan("com.wsk.mapper")

2.日志输出
    mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

3.插入测试和雪花算法.主键策略
    pojo层,注解@TableName("um05")标注表名,注解@TableId(value = "ume001", type = IdType.AUTO)标注主键。IdType可选值如下
        public enum IdType {
            AUTO, //数据库id自增
            INPUT, //手动输入
            ID_WORKER, //默认的全局唯一id
            UUID, //全局唯一id  uuid
            NONE;//未设置主键
        }
    默认 : ID_WORKER 全局唯一Id
    分布式系统唯一Id生成:https://www.cnblogs.com/haoxinyue/p/5208136.html

5.更新操作
    增:Mapper.insert(user);
    改:Mapper.updateById(user);
    查:Mapper.selectList(null);
6.自动填充
    1、在表中增加字段:create_time,update_time,类型datetime
    2、pojo中增加
        private Date createTime;//驼峰命名
        private Date updateTime;
    3、增加注解
        @TableField(fill = FieldFill.INSERT)
        private Date createTime;
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Date updateTime;
    4、编写处理器来处理这个注解!

    @Slf4j//日志
    @Component//丢到springboot里   一定不要忘记把处理器加到Ioc容器中!
    public class MyMetaObjectHandler extends MetaObjectHandler {//extends??
        @Override//插入时的填充策略
        public void insertFill(MetaObject metaObject) {
            this.setFieldValByName("createTIme",new Date(),metaObject);
            this.setFieldValByName("updateTime",new Date(),metaObject);
        }
        @Override//更新时的填充策略
        public void updateFill(MetaObject metaObject) {
            this.setFieldValByName("updateTime",new Date(),metaObject);
        }
    }

7.乐观锁:https://mp.baomidou.com/guide/interceptor-optimistic-locker.html
    1.配置插件
    2.在实体类的字段上加上@Version注解

8.查询操作
    Mapper.selectById();
    Mapper.selectBatchIds(ArrayList)
    Mapper.selectByMap(hashmap)
    Mapper.selectOne()

9.分页https://mp.baomidou.com/guide/page.html
    1.配置拦截器
    2.直接使用
    Page<> page = new Page(1,5);
    userMapper.selectPage(page,wrapper)
    page.getRecords().forEach()
10.删除
    Mapper.deleteById();
    Mapper.deleteBatchIds(ArrayList)
    Mapper.deleteByMap(hashmap)
    逻辑删除
        步骤1: 配置com.baomidou.mybatisplus.core.config.GlobalConfig$DbConfig
        步骤2: 实体类字段上加上@TableLogic注解

11.wrapper 条件构造器 https://mp.baomidou.com/guide/wrapper.html
    wrapper = new QueryWrapper<>();

12.代码生成器
    1.代码生成器对象
        new AutoGenerator().setGlobalConfig(config)
                .setDataSource(dsConfig)
                .setStrategy(stConfig)
                .setPackageInfo(pkConfig);

https://blog.csdn.net/qq_37279783/article/details/86690115
在xml使用foreach的时候最关键的也是最容易出错的就是collection属性,该属性是必须指定的,但是在不同情况 下,该属性的值是不一样的,主要有一下3种情况:

    1. 如果传入的是单参数且参数类型是一个List的时候,collection属性值为list
    2. 如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array
    3. 如果传入的参数是多个的时候,我们就需要把它们封装成一个Map了,当然单参数也可


配置类
    config下的类,加上@configuation注解后,会被当成配置项,可以为启动类分担一些注解。
    比如,@MapperScan("com.kuang.mapper")可以移动过来

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis-Plus是一个MyBatis的增强版工具,它在MyBatis的基础上扩展了其他功能,但没有改变其基本功能。它的存在是为了简化开发,提高效率。 要使用MyBatis-Plus,可以采用SpringBoot快速使用的方式。具体步骤如下: 1. 首先,在你的项目中引入MyBatis-Plus的依赖。可以在项目的pom.xml文件中添加MyBatis-Plus的依赖配置。 2. 然后,配置数据库连接信息,可以在项目的配置文件(比如application.properties或application.yml)中配置数据库连接信息,包括数据库驱动、url、用户名和密码等。 3. 接着,创建实体类和Mapper接口。实体类用于映射数据库表结构,Mapper接口用于定义数据库操作的方法。 4. 使用MyBatis-Plus提供的注解或方法,进行数据库的增删改查操作。比如可以使用@TableName注解指定实体类对应的数据库表名,使用@Insert注解进行插入操作,使用@Update注解进行更新操作,使用@Delete注解进行删除操作,使用@Select注解进行查询操作等。 5. 最后,在需要使用数据库操作的地方,注入Mapper接口,并调用方法进行相应的操作。 通过以上步骤,就可以使用MyBatis-Plus进行数据库操作了。这样可以简化开发过程,提高效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Mybatis-plus的使用](https://blog.csdn.net/yr6123/article/details/125890028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MyBatis-Plus 笔记](https://blog.csdn.net/i_silence/article/details/106807077)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值