<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mybatis &#8211; Lhy&#039;s blog</title>
	<atom:link href="https://blog.lhyshome.com/tag/mybatis/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.lhyshome.com</link>
	<description>welcome</description>
	<lastBuildDate>Thu, 30 May 2024 02:47:11 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">219834889</site>	<item>
		<title>ruoyi微服务后端集成mybatis-plus 3.5.6</title>
		<link>https://blog.lhyshome.com/2024/05/30/152/</link>
					<comments>https://blog.lhyshome.com/2024/05/30/152/#respond</comments>
		
		<dc:creator><![CDATA[lhy]]></dc:creator>
		<pubDate>Thu, 30 May 2024 02:36:44 +0000</pubDate>
				<category><![CDATA[java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[mybatis]]></category>
		<category><![CDATA[mybatis-plus]]></category>
		<category><![CDATA[ruoyi]]></category>
		<guid isPermaLink="false">https://blog.lhyshome.com/?p=152</guid>

					<description><![CDATA[父类pom和公共pom依赖修改 ruoyi-parent pom.xml中添加 将properties下 &#038;l… <span class="read-more"><a href="https://blog.lhyshome.com/2024/05/30/152/">Read More &#187;</a></span>]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">父类pom和公共pom依赖修改</h2>



<h3 class="wp-block-heading">ruoyi-parent</h3>



<p>pom.xml中添加</p>



<pre class="wp-block-code"><code>&lt;project>
    &lt;properties>
        &lt;mybatis-starter.version>2.3.1&lt;/mybatis-starter.version>
        &lt;mybatis-plus.version>3.5.6&lt;/mybatis-plus.version>
    &lt;/properties>
&lt;/project></code></pre>



<p>将properties下</p>



<pre class="wp-block-preformatted">&lt;ruoyi.version>3.6.4&lt;/ruoyi.version>改为<br>&lt;ruoyi.version>${project.version}&lt;/ruoyi.version></pre>



<p>将&lt;version>3.6.4&lt;/version>升级为&lt;version>3.6.4.1&lt;/version></p>



<p>执行maven deploy</p>



<h3 class="wp-block-heading">ruoyi-common</h3>



<p>在ruoyi-common-core模块pom.xml中</p>



<p>pagehelper-spring-boot-starter包中排除mybatis-spring-boot-starter</p>



<pre class="wp-block-code"><code>        &lt;dependency>
            &lt;groupId>com.github.pagehelper&lt;/groupId>
            &lt;artifactId>pagehelper-spring-boot-starter&lt;/artifactId>
            &lt;exclusions>
                &lt;exclusion>
                    &lt;groupId>org.mybatis.spring.boot&lt;/groupId>
                    &lt;artifactId>mybatis-spring-boot-starter&lt;/artifactId>
                &lt;/exclusion>
            &lt;/exclusions>
        &lt;/dependency></code></pre>



<p>添加以下包的引用</p>



<pre class="wp-block-code"><code>&lt;dependency>
    &lt;groupId>org.mybatis.spring.boot&lt;/groupId>
    &lt;artifactId>mybatis-spring-boot-autoconfigure&lt;/artifactId>
    &lt;version>${mybatis-starter.version}&lt;/version>
&lt;/dependency>

&lt;dependency>
    &lt;groupId>com.baomidou&lt;/groupId>
    &lt;artifactId>mybatis-plus-boot-starter&lt;/artifactId>
    &lt;version>${mybatis-plus.version}&lt;/version>
&lt;/dependency>

&lt;dependency>
    &lt;groupId>com.baomidou&lt;/groupId>
    &lt;artifactId>mybatis-plus-extension&lt;/artifactId>
    &lt;version>${mybatis-plus.version}&lt;/version>
    &lt;scope>compile&lt;/scope>
&lt;/dependency></code></pre>



<p>com.ruoyi.common.core.config下添加mybatis-plus配置</p>



<pre class="wp-block-code"><code>package com.ruoyi.common.core.config;<br><br>import com.baomidou.mybatisplus.annotation.DbType;<br>import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;<br>import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;<br>import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;<br>import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;<br>import org.springframework.context.annotation.Bean;<br>import org.springframework.context.annotation.Configuration;<br>import org.springframework.transaction.annotation.EnableTransactionManagement;<br><br><em>/**<br></em><em> * Mybatis Plus </em><em>配置<br></em><em> </em><em>*<br></em><em> * </em><em>@author </em><em>ruoyi<br></em><em> */<br></em>@EnableTransactionManagement(proxyTargetClass = true)<br>@Configuration<br>public class MybatisPlusConfig {<br><br>    @Bean<br>    public MybatisPlusInterceptor mybatisPlusInterceptor() {<br>        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();<br>        // 分页插件<br>        interceptor.addInnerInterceptor(paginationInnerInterceptor());<br>        // 乐观锁插件<br>        interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor());<br>        // 阻断插件<br>        interceptor.addInnerInterceptor(blockAttackInnerInterceptor());<br>        return interceptor;<br>    }<br><br>    <em>/**<br></em><em>     * </em><em>分页插件，自动识别数据库类型 </em><em>https://baomidou.com/guide/interceptor-pagination.html<br></em><em>     */<br></em><em>    </em>public PaginationInnerInterceptor paginationInnerInterceptor() {<br>        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();<br>        // 设置数据库类型为mysql<br>        paginationInnerInterceptor.setDbType(DbType.<em>MYSQL</em>);<br>        // 设置最大单页限制数量，默认 500 条，-1 不受限制<br>        paginationInnerInterceptor.setMaxLimit(-1L);<br>        return paginationInnerInterceptor;<br>    }<br><br>    <em>/**<br></em><em>     * </em><em>乐观锁插件 </em><em>https://baomidou.com/guide/interceptor-optimistic-locker.html<br></em><em>     */<br></em><em>    </em>public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() {<br>        return new OptimisticLockerInnerInterceptor();<br>    }<br><br>    <em>/**<br></em><em>     * </em><em>如果是对全表的删除或更新操作，就会终止该操作 </em><em>https://baomidou.com/guide/interceptor-block-attack.html<br></em><em>     */<br></em><em>    </em>public BlockAttackInnerInterceptor blockAttackInnerInterceptor() {<br>        return new BlockAttackInnerInterceptor();<br>    }<br>}</code></pre>



<p>将全局pom.xml的版本&lt;version>3.6.4&lt;/version>升级为&lt;version>3.6.4.1&lt;/version></p>



<p>执行maven deploy</p>



<h3 class="wp-block-heading">ruoyi-api</h3>



<p>将全局pom.xml的版本&lt;version>3.6.4&lt;/version>升级为&lt;version>3.6.4.1&lt;/version></p>



<p>执行maven deploy</p>



<h3 class="wp-block-heading">ps：</h3>



<p>因为ruoyi-common中ruoyi-common-security模块依赖了ruoyi-api-system，所以也需要升级ruoyi-api和ruoyi-api-system</p>



<p>但是ruoyi-api-system又依赖了ruoyi-common-core</p>



<p>所以执行顺序是：</p>



<p>先执行ruoyi-common，报错显示ruoyi-common-security模块deploy失败</p>



<p>再执行ruoyi-api模块deploy</p>



<p>ruoyi-api成功后再deploy ruoyi-common即可全部成功</p>



<h2 class="wp-block-heading">微服务中配置使用</h2>



<h3 class="wp-block-heading">nacos</h3>



<p>修改ruoyi-system微服务配置文件</p>



<p>将mybatis配置注释掉</p>



<pre class="wp-block-code"><code>## mybatis配置
#mybatis:
#    # 搜索指定包别名
#    typeAliasesPackage: com.ruoyi.feature
#    # 配置mapper的扫描，找到所有的mapper.xml映射文件
#    mapperLocations: classpath:mapper/**/*.xml</code></pre>



<p>添加mybatis-plus配置</p>



<pre class="wp-block-code"><code>mybatis-plus:
  global-config:
    db-config:
      # 逻辑已删除值
      logic-delete-value: 1
      # 逻辑未删除值
      logic-not-delete-value: 0
  configuration:
    #开启sql日志
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 
  # Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  #  #MyBaits 别名包扫描路径，通过该属性可以给包中的类注册别名 实体扫描，多个package用逗号或者分号分隔
  type-aliases-package: com.ruoyi.feature
#  config-location: classpath:mybatis/mybatis-config.xml
  #  #通过父类（或实现接口）的方式来限定扫描实体
  #  typeAliasesSuperType: com.vanhr.user.dao.entity.baseEntity
  #  #枚举类 扫描路径 如果配置了该属性，会将路径下的枚举类进行注入，让实体类字段能够简单快捷的使用枚举属性
  #  typeEnumsPackage: com.vanhr.user.dao.enums
  # 启动时是否检查 MyBatis XML 文件的存在，默认不检查 仅限spring boot 使用
  checkConfigLocation : true
  #  #通过该属性可指定 MyBatis 的执行器，MyBatis 的执行器总共有三种：
  #  # ExecutorType.SIMPLE：该执行器类型不做特殊的事情，为每个语句的执行创建一个新的预处理语句（PreparedStatement）
  #  # ExecutorType.REUSE：该执行器类型会复用预处理语句（PreparedStatement）</code></pre>



<h3 class="wp-block-heading">ruoyi-system</h3>



<p>pom.xml中父类升级</p>



<pre class="wp-block-code"><code>&lt;parent&gt;
    &lt;groupId&gt;com.ruoyi&lt;/groupId&gt;
    &lt;artifactId&gt;ruoyi&lt;/artifactId&gt;
    &lt;version&gt;3.6.4&lt;/version&gt;
&lt;/parent&gt;</code></pre>



<pre class="wp-block-preformatted">&lt;parent&gt;<br>    &lt;groupId&gt;com.ruoyi&lt;/groupId&gt;<br>    &lt;artifactId&gt;ruoyi&lt;/artifactId&gt;<br>    &lt;version&gt;3.6.4.1&lt;/version&gt;<br>&lt;/parent&gt;</pre>



<p>更新maven后，可以看到ruoyi-system已引入了mybatis-plus相关依赖</p>



<p>启动服务，成功，操作完成</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.lhyshome.com/2024/05/30/152/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">152</post-id>	</item>
	</channel>
</rss>
