Mybatis_Plus 的配置(Spring配置文件版)

 xml的配置代码:

    <!-- 配置 SqlSessionFactoryBean (Mybatis_PLUS)-->
    <bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean">
        <!-- 数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!--<property name="configLocation" value="classpath:mybatis.xml"/>-->
        <!-- 别名处理 -->
        <property name="typeAliasesPackage" value="com.it.mp.bean"/>
        <!--加载配置-->
        <property name="configuration" ref="configuration"/>
        <property name="globalConfig" ref="globalConfig"/>
    </bean>

    <!--这个等于Mybatis的全局配置文件,如果在MybatisSqlSessionFactoryBean里面已经配置了configLocation属性(外部加载Mybatis全局配置文件),就不能再配置configuration属性-->
    <bean id="configuration" class="com.baomidou.mybatisplus.core.MybatisConfiguration">
        <!--开启驼峰命名-->
        <property name="mapUnderscoreToCamelCase" value="true"/>
        <!--日志打印SQL语句-->
        <property name="logImpl" value="LOG4J"/>
    </bean>

    <!--定义MP的全局策略配置-->
    <bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
        <!---->
        <property name="dbConfig" ref="dbConfig"/>
    </bean>

    <bean id="dbConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig.DbConfig">
        <!--配置主键策略(这里选择的是主键自增)-->
        <property name="idType" value="AUTO"/>
    </bean>

1.MybatisConfiguration

 MybatisConfiguration继承自Mybatis的Configuration类

public class MybatisConfiguration extends Configuration {
    <!--这个等于Mybatis的全局配置文件,如果在MybatisSqlSessionFactoryBean里面已经配置了configLocation属性(外部加载Mybatis全局配置文件),就不能再配置configuration属性-->
    <bean id="configuration" class="com.baomidou.mybatisplus.core.MybatisConfiguration">
        <!--开启驼峰命名-->
        <property name="mapUnderscoreToCamelCase" value="true"/>
        <!--日志打印SQL语句-->
        <property name="logImpl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/>
        ......
    </bean>

 MybatisConfiguration等价于Mybatis的全局配置文件,如果在MybatisSqlSessionFactoryBean中已经配置了全局配置文件,就不要在配置MybatisConfiguration,会抛出异常

configLocation和configuration不能同时存在


logImpl的value怎么写:

①:Mybatis的Configuration的setLogImpl(),点进去

②:自己用的什么日志就写对应日志Impl实现类


2. GlobalConfig

public class GlobalConfig implements Serializable {

    /**
     * 是否开启 LOGO
     */
    private boolean banner = true;
    /**
     * 缓存 Sql 解析初始化
     *
     * @deprecated 3.1.1 不再需要这个属性, 现在是全局开启状态
     */
    @Deprecated
    private boolean sqlParserCache = false;
    /**
     * 机器 ID 部分
     */
    private Long workerId;
    /**
     * 数据标识 ID 部分
     */
    private Long datacenterId;
    /**
     * 是否初始化 SqlRunner
     */
    private boolean enableSqlRunner = false;
    /**
     * 数据库相关配置
     */
    private DbConfig dbConfig;
    /**
     * SQL注入器
     */
    private ISqlInjector sqlInjector;
    /**
     * Mapper父类
     */
    private Class<?> superMapperClass = Mapper.class;
    /**
     * 缓存当前Configuration的SqlSessionFactory
     */
    @Setter(value = AccessLevel.NONE)
    private SqlSessionFactory sqlSessionFactory;
    /**
     * 缓存已注入CRUD的Mapper信息
     */
    private Set<String> mapperRegistryCache = new ConcurrentSkipListSet<>();
    /**
     * 元对象字段填充控制器
     */
    private MetaObjectHandler metaObjectHandler;

    /**
     * 标记全局设置 (统一所有入口)
     */
    public void signGlobalConfig(SqlSessionFactory sqlSessionFactory) {
        this.sqlSessionFactory = sqlSessionFactory;
    }

 

    <!--定义MP的全局策略配置-->
    <bean id="globalConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig">
        <!---->
        <property name="dbConfig" ref="dbConfig"/>
        ......
    </bean>

 


3. DbConfig

 DbConfig是GlobalConfig的一个内部类

    public static class DbConfig {

        /**
         * 数据库类型
         *
         * @deprecated 不再需要, mp不应该也不需要关心数据库类型
         */
        @Deprecated
        private DbType dbType = DbType.OTHER;
        /**
         * 主键类型(默认 ID_WORKER)
         */
        private IdType idType = IdType.ID_WORKER;
        /**
         * 表名前缀
         */
        private String tablePrefix;
        /**
         * schema
         *
         * @since 3.1.1
         */
        private String schema;
        /**
         * 字段 format
         * <li> 例: `%s` </li>
         * <p> 对主键无效 </p>
         *
         * @since 3.1.1
         */
        private String columnFormat;
        /**
         * 表名、是否使用下划线命名(默认 true:默认数据库表下划线命名)
         */
        private boolean tableUnderline = true;
        /**
         * String 类型字段 LIKE
         *
         * @deprecated 3.1.1 后续将删除这个属性
         */
        @Deprecated
        private boolean columnLike = false;
        /**
         * 大写命名
         */
        private boolean capitalMode = false;
        /**
         * 表主键生成器
         */
        private IKeyGenerator keyGenerator;
        /**
         * 逻辑删除全局值(默认 1、表示已删除)
         */
        private String logicDeleteValue = "1";
        /**
         * 逻辑未删除全局值(默认 0、表示未删除)
         */
        private String logicNotDeleteValue = "0";
        /**
         * 字段验证策略
         */
        private FieldStrategy fieldStrategy = FieldStrategy.NOT_NULL;
    }
    <bean id="dbConfig" class="com.baomidou.mybatisplus.core.config.GlobalConfig.DbConfig">
        <!--配置主键策略(这里选择的是主键自增)-->
        <property name="idType" value="AUTO"/>
    </bean>

 

里面可以配置主键策略,表名的前缀等属性,如果配置idType,就不用在实体类上主键属性添加@idType注解

详情请查看官方文档:https://mp.baomidou.com/config

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值