zoukankan      html  css  js  c++  java
  • SpringBoot 集成Spring JDBC

    (1)在pom.xml中添加依赖

            <!--spring-jdbc的依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
    
            <!--mysql驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>

    (2)在springboot的配置文件中添加数据库连接信息

    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT
    spring.datasource.username=chy
    spring.datasource.password=abcd

    (3)在dao层注入JdbcTemplate,通过JdbcTemplate操作数据库

    @Repository
    public class UserDao implements UserDao{
        private JdbcTemplate jdbcTemplate;
    
        @Autowired
        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
    
        @Override
        public String queryUserById(Integer id){
            String sql = "select username from user_tb where id=?";
            String username = jdbcTemplate.queryForObject(sql, String.class, id);
            return username;
        }
    }

    踩过的坑:

    为了图方便,我直接写了dao,没写service、controller,然后在引导类中new了dao层来测试,一直报错:空指针异常。

    配置、dao层都没错,sout(jdbcTemplate),为空。老老实实写了service、controller就好了。

    在springboot中,未使用<bean>显式配置依赖(数据源)、需要spring容器自动构建依赖、注入依赖的bean不能直接new,直接new出来是空的。

  • 相关阅读:
    JavaWeb--JDBC
    JavaWeb--过滤器、监听器
    Javaweb-MVC三层架构
    JavaWeb--JSP
    JavaWeb--Cookie、Session
    JavaWeb--Servlet
    实用记录文档
    分库分表Sharding-JDBC + MyBatis-Plus动态表名
    如何不靠运气变得富有 (九) —— 互联网极大地丰富了职业发展的可能性
    如何不靠运气变得富有 (八) —— 给社会提供它不知道如何获得的东西
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/12274441.html
Copyright © 2011-2022 走看看