java之mybatisPlus 分布式时候的手动配置

java之mybatisPlus 分布式时候的手动配置importcom alibaba druid pool DruidDataSou importcom baomidou mybatisplus core MybatisConfi importcom baomidou mybatisplus extension plugins OptimisticLo import

import com.alibaba.druid.pool.DruidDataSourceFactory; import com.baomidou.mybatisplus.core.MybatisConfiguration; import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.logging.stdout.StdOutImpl; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.transaction.annotation.EnableTransactionManagement; import javax.annotation.Resource; import javax.sql.DataSource; import java.util.Properties; / * 配置文件 * * @author sunwen * @version 1.0 * @date 2019/8/5 15:19 / @EnableTransactionManagement @Configuration @MapperScan(basePackages = {"com.yixing.*.dao", "com.baomidou.cloud.service.*.mapper*"}) public class MyBatisConfig { @Resource private Environment env; @Bean public DataSource getDataSource() { Properties props = new Properties(); props.put("driverClass", env.getProperty("jdbc.driverClass")); props.put("url", env.getProperty("jdbc.url")); props.put("username", env.getProperty("jdbc.username")); props.put("password", env.getProperty("jdbc.password")); props.put("maxWait", env.getProperty("jdbc.maxWait")); props.put("maxActive", env.getProperty("jdbc.maxActive")); props.put("minIdle", env.getProperty("jdbc.minIdle")); props.put("initialSize", env.getProperty("jdbc.initialSize")); props.put("timeBetweenEvictionRunsMillis", env.getProperty("jdbc.timeBetweenEvictionRunsMillis")); props.put("minEvictableIdleTimeMillis", env.getProperty("jdbc.minEvictableIdleTimeMillis")); try { return DruidDataSourceFactory.createDataSource(props); } catch (Exception e) { e.printStackTrace(); } return null; } / * @Title: sqlSessionFactory @Description: * 根据数据源创建SqlSessionFactory @param @param * ds @param @return @param @throws Exception @return * SqlSessionFactory @throws */ @Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { MybatisSqlSessionFactoryBean msfb = new MybatisSqlSessionFactoryBean(); msfb.setDataSource(dataSource); { MybatisConfiguration configuration = new MybatisConfiguration(); configuration.setLogImpl(StdOutImpl.class); msfb.setConfiguration(configuration); } msfb.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.mapperLocations"))); return msfb.getObject(); } / * 分页插件 */ @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } / * 乐观所 */ @Bean public OptimisticLockerInterceptor optimisticLockerInterceptor() { return new OptimisticLockerInterceptor(); } } 

其实就是接管了SqlSessionFactory的初始化过程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201868.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:26
下一篇 2026年3月20日 上午8:26


相关推荐

  • java可重入锁与不可重入锁

    java可重入锁与不可重入锁所谓重入锁,指的是以线程为单位,当一个线程获取对象锁之后,这个线程可以再次获取本对象上的锁,而其他的线程是不可以的。synchronized和  ReentrantLock都是可重入锁。可重入锁的意义在于防止死锁。实现原理是通过为每个锁关联一个请求计数器和一个占有它的线程。当计数为0时,认为锁是未被占有的;线程请求一个未被占有的锁时,JVM将记录锁的占有者,并且将请求计数器置为1…

    2022年6月26日
    29
  • java解析XML的所需Jar包「建议收藏」

    java解析XML的所需Jar包「建议收藏」链接:https://pan.baidu.com/s/1ck6YIRT2MpiDLsCAxi-I9Q提取码:yjss其中包括dom4j和jaxen包

    2022年5月9日
    182
  • UVA1455 – Kingdom(并查集 + 线段树)

    UVA1455 – Kingdom(并查集 + 线段树)

    2021年12月14日
    52
  • linggle的一个特色,就是可以使用关键词_奔驰gle使用技巧

    linggle的一个特色,就是可以使用关键词_奔驰gle使用技巧  Linggle(英语写作学习搜索引擎)是一个可用于英语写作的语法、句子工具,可帮助学习者分析更准确的英文写作建议,能够根据词性来推测短句和句子,可精准的分享出完整英文句子如何撰写。  在英文写作中,作者往往无法确定最适合的英文搭配,这就需要借助一些词典或者网络助手进行查询。本文推荐的Linggle,通过对英文搭配进行概率统计,为用户提供若干个可供选择的可用搭配。下面将简要介绍Lingg…

    2025年7月27日
    5
  • Vue、Element-ui项目中如何使用Iconfont(阿里图标库)[通俗易懂]

    Vue、Element-ui项目中如何使用Iconfont(阿里图标库)[通俗易懂]我们使用element-ui、vue开发网站的时候,往往图标是起着很重要的作用。2018-11-9更新1.傻瓜式引用:由于这种方法及其简单省去了很多繁琐的步骤,a.引入项目生成的,图标地址。b.使用推荐使用这种,详情请看文档!!文档够详细的了。http://www.iconfont.cn/help/detail?spm=a313x.7781069.1998910419.d8cf4…

    2022年4月20日
    94
  • bootstrap 模态窗和datepicker搭配,清空form问题

    bootstrap模态窗和datepicker搭配,清空form问题

    2022年2月16日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号