您当前的位置: 首页 >  ui

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

第五章 Spring集成Druid连接池

梁云亮 发布时间:2022-05-09 08:28:48 ,浏览量:2

第一步:添加依赖

  mysql
  mysql-connector-java
  8.0.28


  com.alibaba
  druid
  1.2.9

第二步:配置方式




    
        
            
            classpath:datasource.properties
        
    
 


    
    
    
    
    

    
    

    
    
    
    

    
    

    
    

    
    

    
    
    

    
    
    

第三步:编程方式

image-20210701104034703

import com.alibaba.druid.pool.DruidDataSource;
import com.github.pagehelper.PageInterceptor;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import javax.sql.DataSource;
import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Properties;

/**
 * 

Project: ssm0 - ApplicationContextConfig *

Description : 相当于 resources/applicationContext.xml spring IoC 框架核心配置文件 * * @author webrx [webrx@126.com] * @version 1.0 * @since 15 */ @Configuration @MapperScan("cn.webrx.wxs.mapper") //加载properties @PropertySource("classpath:db.properties") public class ApplicationContextConfig { //@Value("#{systemProperties['os.name']}") //@Value("#{ T(java.lang.Math).random() * 100.0 }") @Value("${db.url}") private String url; @Value("${db.username}") private String username; @Value("${db.driver}") private String driver; @Value("${db.filters}") private String filters; @Value("${db.password}") private String password; @Value("${db.publicKey}") private String publickey; @Bean("ds") public DataSource druidDataSource(@Value("${db.driver}") String driver, @Value("${db.password}") String password, @Value("${db.publicKey}") String publickey, @Value("${db.filters}") String filters, @Value("${db.url}") String url, @Value("${db.username}") String uname) throws SQLException { DruidDataSource ds = new DruidDataSource(); ds.setUrl(url); ds.setUsername(uname); ds.setPassword(password); ds.setFilters(filters); ds.setConnectionProperties("config.decrypt=true;config.decrypt.key=" + publickey); ds.setDriverClassName(driver); return ds; } /** * 配置事务管理器 */ //@Bean public DataSourceTransactionManager getDataSourceTransactionManager(@Qualifier("ds") DataSource ds) { DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(); dataSourceTransactionManager.setDataSource(ds); return dataSourceTransactionManager; } /** * 配置分页插件(mybatis拦截器插件) * * @return */ public PageInterceptor pageInterceptor() { var pi = new PageInterceptor(); var prop = new Properties(); prop.setProperty("reasonable", "true"); pi.setProperties(prop); return pi; } /** * 注册SqlSessionFactory * * @param ds * @return */ @Bean("sf") public SqlSessionFactoryBean sqlSessionFactoryBean(@Qualifier("ds") DataSource ds) { SqlSessionFactoryBean sf = new SqlSessionFactoryBean(); sf.setDataSource(ds); //mybatis 分页插件注册 sf.setPlugins(pageInterceptor()); sf.setTypeAliasesPackage("cn.webrx.wxs.entity"); sf.setMapperLocations(resolveMapperLocations()); return sf; } public Resource[] resolveMapperLocations() { ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver(); List mapperLocations = new ArrayList(); mapperLocations.add("classpath:cn/webrx/wxs/mapper/*Mapper.xml"); List resources = new ArrayList(); for (String mapperLocation : mapperLocations) { try { Resource[] mappers = resourceResolver.getResources(mapperLocation); resources.addAll(Arrays.asList(mappers)); } catch (IOException ignored) { } } return resources.toArray(new Resource[0]); } @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer msc = new MapperScannerConfigurer(); msc.setBasePackage("cn.webrx.wxs.mapper"); msc.setSqlSessionFactoryBeanName("sf"); return msc; } }

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.5034s