Springboot + mybatis+sqlserver+druid 的项目的配置

springboot项目如果想在配置文件里用加密的密码直接配置而没有解密的一些配置,是支持度不太好的。需要自己实现DataSource的一些配置。使用密文的连接,网上一堆我就不阐述了。这里说的用明文来连接。

spring.datasource.url=jdbc:jtds:sqlserver://xxxxx
spring.datasource.username=xx
spring.datasource.password=xxxx
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initial-size=5
spring.datasource.druid.max-active=30
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-wait=10
spring.datasource.druid.validation-query=select 'x'

 

pom 文件依赖:

<dependency>
    <groupId>net.sourceforge.jtds</groupId>
    <artifactId>jtds</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.20</version>
</dependency>
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <scope>runtime</scope>
</dependency>

如果你没按照我的配置有可能你会遇到这个错误:java.sql.SQLException: The SQL statement must not be null or empty

解释如下:

特别注意的是如果你引用的druid的版本在1.1.6以下,就不需要加开头红色的配置。如果引用1.1.7及以上就需要加红色的配置。如果是在java类中配置,在DruidDataSource对象中加一个这个属性就可以了,否则会报错:

SpringBootMyBatis中实现分区表可以通过使用MyBatis-Plus插件实现。MyBatis-Plus是MyBatis的增强工具,在MyBatis的基础上提供了更多的功能和便捷的操作方式,包括分区表的实现。 下面是一个简单的示例,演示如何在SpringBootMyBatis中实现分区表: 1. 首先,在pom.xml文件中添加MyBatis-Plus和Druid的依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> ``` 2. 然后,在application.properties文件中配置Druid数据源和MyBatis-Plus的相关配置: ``` spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # Druid 数据源配置 spring.datasource.druid.initial-size=5 spring.datasource.druid.max-active=20 spring.datasource.druid.min-idle=5 spring.datasource.druid.test-on-borrow=true # MyBatis-Plus 配置 mybatis-plus.mapper-locations=classpath:mapper/*.xml mybatis-plus.configuration.cache-enabled=false mybatis-plus.configuration.map-underscore-to-camel-case=true mybatis-plus.configuration.default-fetch-size=100 ``` 3. 接下来,在MyBatis的Mapper文件中使用分区表的SQL语句: ``` <select id="getUserById" resultType="com.example.demo.entity.User"> SELECT * FROM user_${id % 10} WHERE id = #{id} </select> ``` 这里的user_${id % 10}表示使用id模10的结果作为分区表的后缀,即将数据按照id模10的结果分散到10个不同的表中。 4. 最后,在SpringBoot应用中调用Mapper方法即可实现分区表的查询: ``` @Autowired private UserMapper userMapper; public User getUserById(Long id) { return userMapper.getUserById(id); } ``` 至此,我们已经完成了在SpringBootMyBatis中实现分区表的过程。当然,实际场景中可能会更复杂,需要结合具体业务需求进行调整和优化。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值