(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出來是空的。