SpringBoot 配置连接 MySQL 数据库 一:引入依赖 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <dependency > <groupId > org.springframework.boot</groupId > <artifactId > spring-boot-starter-web</artifactId > </dependency > <dependency > <groupId > org.springframework.boot</groupId > <artifactId > spring-boot-starter-jdbc</artifactId > </dependency > <dependency > <groupId > mysql</groupId > <artifactId > mysql-connector-java</artifactId > </dependency >
二:编辑 yaml 文件 1 2 3 4 5 6 7 8 9 10 spring: application: name: Developer datasource: username: root password: root url: jdbc:mysql://localhost:3306/aaa?serverTimezone=UTC&useUnicode=true&characterEcoding=utf-8 driver-class-name: com.mysql.cj.jdbc.Driver server: port: 8088
三:配置包扫描 SpringBoot 拥有默认的包扫描机制,启动类所在当前包及其包的子类都会默认被扫描;
有时会因为 Bean 和启动类不在一个文件夹下,导致扫描不到引起的注解失败问题。
如何修改包扫描的位置?
方法一: 在启动类 SpringBootApplication 注解中配置 scanBasePackages即可,如下:
1 2 3 4 5 6 7 @SpringBootApplication(scanBasePackages = {"cn.aiyingke.developer.mysql"}) public class DeveloperApplication { public static void main (String[] args) { SpringApplication.run(DeveloperApplication.class, args); System.out.println("Program startup completed!" ); } }
也可以配置多个包路径;
1 @SpringBootApplication(scanBasePackages = {"cn.aiyingke.developer.mysql","cn.aiyingke.developer.mysql.ebean"})
方法二: 在启动类里面添加 @ComponentScan 注解配置 basePackages;
1 2 3 4 5 6 7 8 @SpringBootApplication @ComponentScan("cn.aiyingke.developer.mysql") public class DeveloperApplication { public static void main (String[] args) { SpringApplication.run(DeveloperApplication.class, args); System.out.println("Program startup completed!" ); } }
四:测试类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 @RestController @RequestMapping("/mysql") public class JdbcController { final JdbcTemplate jdbcTemplate; public JdbcController (JdbcTemplate jdbcTemplate) { this .jdbcTemplate = jdbcTemplate; } @GetMapping("/mdtList") public List<Map<String, Object>> mdtList () { String sql = "select * from mdt" ; return jdbcTemplate.queryForList(sql); } }