mybatis查询数据不想配置数据源写法

该博客展示了如何在Java中配置和使用JdbcTemplate进行数据库连接和查询操作。首先,通过DruidDataSource设置数据库连接参数,然后创建JdbcTemplate实例并注入到类中。接着,在查询方法中,利用jdbcTemplate查询数据库并获取ShenMuWz对象列表,进行遍历处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//可以写在main方法下面
@Bean
public JdbcTemplate sqlServerJdbcTemplate() {
JdbcTemplate jdbcTemplate = new JdbcTemplate();
DruidDataSource dataSource = new DruidDataSource();
dataSource.setPassword(“数据库密码”);
dataSource.setUsername(“数据库用户名”);
dataSource.setUrl(“数据库ip”);
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}

//写在class里面
@Resource(name = “sqlServerJdbcTemplate”)
private JdbcTemplate jdbcTemplate;

//写在你查询sql的mapper上面(同上面代码在一个页面)
List shenMuWzs = jdbcTemplate.queryForList(“”, ShenMuWz.class);
if (shenMuWzs.size()>0){
for (int i = 0; i < shenMuWzs.size(); i++) {
ShenMuWz shenMuWz1 = new ShenMuWz();
shenMuWz1.setId(String.valueOf(shenMuWzs.get(i).getId()));
}

(来自smwz数据同步)

<think>嗯,用户现在想了解如何在Spring Boot的application.yml和application-dev.yml中配置数据源MyBatis。首先,我需要回顾之前用户的问题历史。之前他问过项目结构,现在转向具体配置,可能是在实际搭建项目时需要这些配置。 用户可能是一个刚开始使用Spring Boot的开发者,或者正在搭建一个新项目,需要配置多环境的数据源MyBatis。他的需求仅仅是配置文件的写法,可能还想知道如何区分同环境,以及MyBatis的基本设置。 我需要确保回答覆盖以下几点: 1. 多环境配置的机制,比如如何使用spring.profiles.active指定环境。 2. 数据源的基本配置项,如URL、用户名、密码、驱动类,连接池设置(比如HikariCP)。 3. MyBatis的相关配置,比如mapper文件的位置、别名处理、驼峰命名转换等。 4. 给出示例的YAML代码,方便用户直接复制修改。 5. 提示常见问题,比如配置文件优先级、多环境切换方法、MyBatis的日志级别等。 需要注意用户是否可能混淆application.yml和application-dev.yml的关系,需要解释清楚默认配置和特定环境配置的合并方式。例如,application.yml中的通用配置会被application-dev.yml中的同名属性覆盖。 同时,用户可能对MyBatis配置太熟悉,需要给出常用的配置项,并解释每个配置的作用,比如mybatis.mapper-locations指定XML文件的位置,mybatis.configuration.map-underscore-to-camel-case处理数据库字段的命名转换。 还要考虑是否需要提到测试或生产环境的配置差异,比如生产环境可能使用同的数据库URL或连接池参数。此外,可能需要注意Spring Boot版本对默认连接池的影响,比如2.x默认使用HikariCP,所以需要额外配置,但如果有特殊需求,可能需要显式配置。 另外,用户可能想知道如何验证配置是否正确,比如在启动应用时查看日志,检查数据源是否成功连接,或者MyBatis的mapper是否被正确加载。可以建议添加日志配置,或使用Spring Boot的Actuator端点来检查数据源状态。 最后,确保回答结构清晰,分步骤说明,代码示例正确且符合YAML语法,避免格式错误。同时,语言要简洁明了,适合同层次的开发者理解。</think>以下是Spring Boot中`application.yml`与`application-dev.yml`配置数据源MyBatis的详细指南: --- ### **1. 多环境配置原理** - **主配置文件**:`application.yml`(公共配置) - **环境配置**:`application-{profile}.yml`(环境特有配置) - **激活环境**:通过`spring.profiles.active=dev`指定激活的配置文件 --- ### **2. 基础配置示例** #### **application.yml(公共配置)** ```yaml spring: profiles: active: dev # 默认激活开发环境 # 公共数据源配置(可被环境配置覆盖) datasource: hikari: connection-timeout: 30000 maximum-pool-size: 20 minimum-idle: 5 mybatis: configuration: map-underscore-to-camel-case: true # 自动驼峰转换 default-fetch-size: 100 ``` #### **application-dev.yml(开发环境)** ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/dev_db?useSSL=false&serverTimezone=UTC username: dev_user password: dev123 driver-class-name: com.mysql.cj.jdbc.Driver mybatis: type-aliases-package: com.example.project.model # 实体类包路径 mapper-locations: classpath:mapper/*.xml # XML映射文件路径 ``` --- ### **3. 关键配置项说明** #### **数据源配置** ```yaml spring: datasource: url: jdbc:mysql://host:port/dbname username: your_username password: your_password driver-class-name: com.mysql.cj.jdbc.Driver hikari: # 连接池配置(HikariCP) connection-timeout: 30000 maximum-pool-size: 20 idle-timeout: 600000 ``` #### **MyBatis配置** ```yaml mybatis: mapper-locations: classpath:mapper/**/*.xml # XML映射文件路径 type-aliases-package: com.example.model # 实体类包别名 configuration: map-underscore-to-camel-case: true # 字段映射规则 cache-enabled: false # 缓存开关 lazy-loading-enabled: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 日志输出 ``` --- ### **4. 多环境配置方案** ```yaml # application-test.yml(测试环境) spring: datasource: url: jdbc:mysql://test-db:3306/test_db username: test_user password: test@456 # application-prod.yml(生产环境) spring: datasource: url: jdbc:mysql://prod-db:3306/prod_db?useSSL=true username: ${DB_USER} # 推荐使用环境变量 password: ${DB_PASS} ``` --- ### **5. 最佳实践建议** 1. **敏感信息加密**:使用Jasypt加密数据库密码 2. **环境变量注入**:生产环境配置建议使用`${VAR_NAME}`语法 3. **配置优先级**:`application-{profile}.yml` > `application.yml` 4. **MyBatis日志**:开发环境开启SQL日志更方便调试 ```yaml logging: level: com.example.mapper: DEBUG ``` --- ### **6. 完整配置示例** ```yaml # application.yml spring: profiles: active: dev mybatis: check-config-location: true configuration: default-statement-timeout: 30 --- # application-dev.yml spring: datasource: url: jdbc:mysql://localhost:3306/dev?characterEncoding=utf8 username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver hikari: maximum-pool-size: 15 connection-test-query: SELECT 1 mybatis: mapper-locations: classpath*:mapper/**/*.xml type-aliases-package: com.example.domain configuration: lazy-loading-enabled: true ``` --- ### **7. 启动验证** 1. 检查控制台输出: ``` HikariPool-1 - Starting... HikariPool-1 - Start completed ``` 2. 执行测试SQL查询验证数据库连接 3. 检查MyBatis映射是否生效 --- 通过这种配置方式,可以实现: - 环境隔离:同环境使用独立配置 - 配置复用:公共配置集中管理 - 灵活切换:通过`spring.profiles.active`快速切换环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值