mybatis-plus学习小结

1、spring集成mp,只需要在Mybatis 自带的MybatisSqlSessionFactoryBean 替换为 MP 自带的即可,
org.mybatis.spring.SqlSessionFactoryBean替换成:com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean
2、Mapper接口开发:基于Mybatis:  在Mapper接口中编写CRUD相关的方法  提供Mapper接口所对应的SQL映射文件 以及 方法对应的SQL语句. 
  基于MP:  让XxxMapper接口继承 BaseMapper接口即可.BaseMapper<T> : 泛型指定的就是当前Mapper接口所操作的实体类类型 
3、mp主键策略:在实体类上面加上@TableId(value="id",type=IdType.AUto),value指定数据库字段,如果实体属性名与列名一致可以不用写,type指定增长策略,如果不是自增这个注解可以不用写。
4、mp会默认使用实体类的类名到数据中找对应的表。如果表明不一致,需要加一个表明注解:@TableName(value=""),
value指定数据库表明。
5、如果数据库里面的某个字段里面有下划线(user_name),实体类是userName,版本2.3之后默认对应起来,也可以用注解
@@TableField(value="")来指定对应关系。如果在实体类里面加了一个字段,但是数据库里面没有这个字段,需要通过
@TableField(exist=false)来指定,这样系统才不会报错。
6、mp的全局配置策略,设置之后对整个项目都会起作用:设置之后注入到mybatis的工厂。
<!-- 定义MybatisPlus的全局策略配置-->
    <bean id ="globalConfiguration" class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
        <!-- 在2.3版本以后,dbColumnUnderline 默认值就是true 对应5-->
        <property name="dbColumnUnderline" value="true"></property>
        <!-- 全局的主键策略 0主键自增   1用户输入-->
        <property name="idType" value="0"></property>
        <!-- 全局的表前缀策略配置 -->
        <property name="tablePrefix" value="tb_"></property>
    </bean>
6、查询的时候如果实体类的名称和数据库对应不起来,用数据库的字段名。ps user_name   userName 用user_name
7、插件的使用:在mybatis的工厂里面添加插件注册,
    <!-- 插件注册 -->
        <property name="plugins">
            <list>
                <!-- 注册分页插件 --> 
                <bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"/>
                <!-- 注册执行分析插件 查看执行的方法是否违法-->
                <!-- <bean class="com.baomidou.mybatisplus.plugins.SqlExplainInterceptor">
                    <property name="stopProceed" value="true"></property>
                </bean> -->
                <!-- 注册性能分析插件 事件格式化  最大执行时间-->
                <!-- <bean class="com.baomidou.mybatisplus.plugins.PerformanceInterceptor">
                    <property name="format" value="true"></property>
                    <property name="maxTime" value="5"></property>
                </bean> -->
            </list>
 分页插件的使用:
        Page<User> page = new Page<>(1, 10);
        EntityWrapper<User> ew = new EntityWrapper<User>();
        ew.orderBy(true, "created", true);
        List<User> users = userMapper.selectPage(page,ew);
执行分析插件:上面的插件配置之后删除全部数据,则会抛出一个错误。提示违法操作。
性能分析插件:上面配置之后,执行查询的sql语句,如果执行的时间超出5毫秒则会抛出异常。
        
mybatis查询之后返回json数据时间格式是时间戳格式:需要在时间的实体类加一个格式化的注解:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值