Spring Boot集成JdbcTemplate的问题总结~~
来源:互联网 发布:更相减损术算法步骤 编辑:程序博客网 时间:2024/05/24 01:58
注入数据源
这里采用Spring Boot的java配置注入数据源:
package com.sitech.ddoe.server.common.domain;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSource;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.jdbc.core.JdbcTemplate;@Configuration@PropertySource(value = "classpath:jdbc.properties", ignoreResourceNotFound = true, encoding = "utf-8")public class DataSourceConfig { @Value("${spring.datasource.driver-class-name}") private String driverClassName; @Value("${spring.datasource.url}") private String driverUrl; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Bean public DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setUrl(driverUrl); dataSource.setUsername(username); dataSource.setPassword(password); dataSource.setDriverClassName(driverClassName); dataSource.setInitialSize(2); dataSource.setMaxActive(20); dataSource.setMinIdle(0); dataSource.setMaxWait(60000); dataSource.setValidationQuery("SELECT 1"); dataSource.setTestOnBorrow(false); dataSource.setTestWhileIdle(true); dataSource.setPoolPreparedStatements(false); return dataSource; } @Bean public JdbcTemplate jdbcTemplate() { return new JdbcTemplate(dataSource()); }}
以上代码中,
用@Configuration注解该类,等价与XML中配置beans;
用@Bean标注方法等价于XML中配置bean。
用@PropertySource引入需要的配置文件,解耦合。
使用JdbcTemplate 时只需要直接注入即可:
@Autowiredprivate JdbcTemplate jdbcTemplate;
JdbcTemplate常用的方法
- batchUpdate()
返回的数据类型是int[],适用于返回批量执行成功的条数。
- update()
返回的数据类型是int,适用于返回执行成功的条数
- queryForList()
第一种:List<Map<String, Object>> queryForList = jdbcTemplate.queryForList(sql, args);第二种:return jdbcTemplate.query(sql, args, new RowMapper<ObjectInst>(){ @Override public ObjectInst mapRow(ResultSet rs, int rowNum) throws SQLException { ObjectInst obj = new ObjectInst(); return obj; } });
遇到的SQLException
- Column Index out of range, 0 < 1
ResultSet的结果集,索引从1开始,我取值的时候rs.get(0)报错
- org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 3
一开始接结果集用的是queryForObject(),但是该方法只能接一个对象,执行sql返回的有三条数据,不能对应。所以返回数据不确定时需要要queryForList()。
阅读全文
0 0
- Spring Boot集成JdbcTemplate的问题总结~~
- spring boot集成JdbcTemplate
- spring-boot 配置jdbcTemplate时遇到的问题
- spring jdbcTemplate的问题
- Spring Boot 使用JdbcTemplate
- spring boot之JdbcTemplate
- Spring Boot (六) JdbcTemplate
- spring boot jdbctemplate使用
- Spring Boot整合jdbctemplate
- Spring boot 五 jdbcTemplate
- Spring Boot问题总结
- 13.12 Spring Boot集成Security中遇到的问题
- Spring boot集成Swagger2,解决页面不显示的问题
- spring boot中使用JdbcTemplate
- Spring Boot JdbcTemplate ACE 模板
- spring 集成hibernate和jdbcTemplate
- Apache Phoenix JDBC 驱动和Spring JDBCTemplate的集成
- Spring JdbcTemplate 用法总结!!!
- 让我们从机器学习谈起(网上看到的最好的一篇入门介绍)
- node连接PostgreSQL
- dom4j的简单使用案例
- IntelliJ IDEA 设置代码提示或自动补全的快捷键
- 文件及数据流技术(四)
- Spring Boot集成JdbcTemplate的问题总结~~
- 学习进阶推荐书籍
- OpenStack高可用(HA)和灾备(DR)解决方案
- elasstic search request not sucessfully
- Java中的String为什么是不可变的? -- String源码分析
- MySql函数
- 伪分布式系统之安装HADOOP环境之前的准备工作
- NYOJ F : ZQW的消消乐
- 九九乘法表(作业)