springbootDAO之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.连接数据库的uri
spring.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
#全限定名,连接池。默认自动检测classpath
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
#sql脚本字符
spring.datasource.sql-script-encoding=UTF-8
#jdbcTemplate配置参数
spring.jdbc.template.fetch-size=-1
spring.jdbc.template.max-rows=-1
spring.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使用
@Repository
public 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)
@SpringBootTest
public class AppContextTest {
    @Autowired
    private TestJdbcDao testJdbcDao;
    @Test
    public void jdbcTest(){
        String menuName = testJdbcDao.getMenuNameById(1);
        System.out.println("menuName = " + menuName);
    }本文题目:springbootDAO之jdbcTemplate
文章分享:http://www.cqwzjz.cn/article/jdcecs.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 