spring boot DAO之jdbcTemplate
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,依赖 org.springframework.boot spring-boot-starter-data-jpa
千家信息网最后更新 2025年01月28日spring boot DAO之jdbcTemplate
依赖
org.springframework.boot spring-boot-starter-data-jpa mysql mysql-connector-java
application-database.properties
#初始化数据库的时候,如果错误,是否继续启动。spring.datasource.continue-on-error=false#jdbc driver.默认通过uri来自动检测。spring.datasource.driver-class-name=com.mysql.jdbc.Driver#jdbc url.连接数据库的urispring.datasource.url=jdbc:mysql://172.28.1.227:3310/fc?useUnicode=true&autoReconnect=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useServerPrepStmts=false#数据库连接用户名spring.datasource.username=fcdev#数据连接密码spring.datasource.password=123456#全限定名,连接池。默认自动检测classpathspring.datasource.type=com.zaxxer.hikari.HikariDataSource#sql脚本字符spring.datasource.sql-script-encoding=UTF-8#jdbcTemplate配置参数spring.jdbc.template.fetch-size=-1spring.jdbc.template.max-rows=-1spring.jdbc.template.query-timeout=60
源码-JdbcProperties
@ConfigurationProperties(prefix = "spring.jdbc")public class JdbcProperties { private final Template template = new Template(); public Template getTemplate() { return this.template; } /** * {@code JdbcTemplate} settings. */ public static class Template { /** * Number of rows that should be fetched from the database when more rows are * needed. Use -1 to use the JDBC driver's default configuration. */ private int fetchSize = -1; /** * Maximum number of rows. Use -1 to use the JDBC driver's default configuration. */ private int maxRows = -1; /** * Query timeout. Default is to use the JDBC driver's default configuration. If a * duration suffix is not specified, seconds will be used. */ @DurationUnit(ChronoUnit.SECONDS) private Duration queryTimeout; }}
源码-JdbcTemplateAutoConfiguration
@Configuration@ConditionalOnClass({ DataSource.class, JdbcTemplate.class })@ConditionalOnSingleCandidate(DataSource.class)@AutoConfigureAfter(DataSourceAutoConfiguration.class)@EnableConfigurationProperties(JdbcProperties.class)public class JdbcTemplateAutoConfiguration { @Configuration static class JdbcTemplateConfiguration { private final DataSource dataSource; private final JdbcProperties properties; JdbcTemplateConfiguration(DataSource dataSource, JdbcProperties properties) { this.dataSource = dataSource; this.properties = properties; } @Bean @Primary @ConditionalOnMissingBean(JdbcOperations.class) public JdbcTemplate jdbcTemplate() { JdbcTemplate jdbcTemplate = new JdbcTemplate(this.dataSource); JdbcProperties.Template template = this.properties.getTemplate(); jdbcTemplate.setFetchSize(template.getFetchSize()); jdbcTemplate.setMaxRows(template.getMaxRows()); if (template.getQueryTimeout() != null) { jdbcTemplate .setQueryTimeout((int) template.getQueryTimeout().getSeconds()); } return jdbcTemplate; } } @Configuration @Import(JdbcTemplateConfiguration.class) static class NamedParameterJdbcTemplateConfiguration { @Bean @Primary @ConditionalOnSingleCandidate(JdbcTemplate.class) @ConditionalOnMissingBean(NamedParameterJdbcOperations.class) public NamedParameterJdbcTemplate namedParameterJdbcTemplate( JdbcTemplate jdbcTemplate) { return new NamedParameterJdbcTemplate(jdbcTemplate); } }}
jdbcTemplate使用
@Repositorypublic class TestJdbcDao { @Autowired private JdbcTemplate jdbcTemplate; public String getMenuNameById(int id){ return jdbcTemplate.queryForObject("select name from t_sys_menu where id = ?", new Object[]{id}, String.class); }}
jdbcTemplate测试
@RunWith(SpringRunner.class)@SpringBootTestpublic class AppContextTest { @Autowired private TestJdbcDao testJdbcDao; @Test public void jdbcTest(){ String menuName = testJdbcDao.getMenuNameById(1); System.out.println("menuName = " + menuName); }
数据
数据库
源码
检测
参数
字符
密码
时候
用户
用户名
脚本
错误
测试
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库原理及答案第二版
星状服务器硬件设备
虎林软件开发设计在线咨询
网络安全事件中划分的等级
电子口岸服务器验签
网络技术试卷是什么
福建机架式服务器
渭南市网络安全宣传周
计算机网络技术专业属于什么科
图灵绍兴网络技术有限公司
常用收件服务器的地址和端口
教资网络安全基本概述
软件开发 做的快 让做更多
进口网络技术服务欢迎咨询
东秀网络技术有限公司怎么样
数据库专业系统
服务器证书异常
网络安全主动防御定义
在数据库中投影运算的含义
即时通讯软件开发费用低
服务器格式区是什么意思
零件数据库什么语言
校园网络安全宣传语作文
黄河鲲鹏服务器和台式机生产线
串口服务器调试
顺风车服务器异常请稍后再试
aes服务器
阳泉学校大屏导航软件开发公司
浏览器进入淘宝服务器未发送数据
天合网络安全