在Springboot中连接数据库(仅连接)
第一步
首先确保自己的idea中有“Alibaba Java Coding Guidelines plugin support.(XenoAmess TPM)”插件,(应该是这个,或者多下几个“alibaba”的插件)
之后在web依赖里添加,用来添加数据库依赖
1 <dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>druid</artifactId> 4 <version>1.1.6</version> 5 </dependency>
老样子,“version”中的是版本号,根据实际情况来。网站推荐:Maven 仓库: com.alibaba » druid (mvnrepository.com)
整体效果:
<!--web依赖--> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--先下载一个Alibaba Java Coding Guidelines plugin support.(XenoAmess TPM)插件然后再添加数据库依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.6</version> </dependency> </dependencies>
如果报错大概率是插件没下载或者版本号不对。
第二步
创建数据库,名随意,字符集选择“utf8”,排序规则选择“utf8_general_ci”
第三步
回到idea中在“resources”新建一个“File”类型的文件,名随意,现在以为”jdbc.properties“为例
在该“File‘类型文件中添加
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/estore
jdbc.username=root
jdbc.password=root
最后两行是数据库的用户名跟密码
第四步
在运行类的同级中创建一个文件夹并建立一个Java的文件作为配置类
在类的开头进行声明,
1 @Configuration 2 @PropertySource("classpath.名是第三步时建立的配置文件")
如果后面运行时显示
at com.yue.Appilcation.main(Appilcation.java:11) ~[classes/:na] Caused by : java.io.FileNotFoundException: class path resource [classpath.jdbc.properties] cannot be opened because it does not exist“ //第一个括号内是文件跟错误行。可忽略
即没有找到该所配置的文件路径,此时可以
@PropertySource("classpath.名是第三步时建立的配置文件")
//将括号内的”classpath. “删除,只保留文件名
//改后:@PropertySource("名是第三步时建立的配置文件")
在该类里面输入
1 @Value("${jdbc.url}") 2 String url; 3 @Value("${jdbc.driverClassName}") 4 String driverClassName; 5 @Value("${jdbc.username}") 6 String username; 7 @Value("${jdbc.password}") 8 String password;
”jdbc.“后面的名是第三步中添加的名。然后
1 //建立一个容器并注入 2 @Bean 3 public DruidDataSource dataSource() { 4 DruidDataSource dataSource = new DruidDataSource(); 5 dataSource.setDriverClassName(driverClassName); 6 dataSource.setUrl(url); 7 dataSource.setUsername(username); 8 dataSource.setPassword(password); 9 return dataSource; 10 }
如果显示错误大概率是没有”DruidDataSource“这个类,新建一个,并且将下面的变量名进行封装处理。
第五步
在项目处理器的类里
1 //注入刚才注入到容器里的数据 2 @Autowired 3 private DataSource dataSource;
然后在输出语句中
System.out.println("DataSource="+dataSource);
第六步
运行,在浏览器网址搜索中输入:localhost:8080/hello

如果还是显示找不到“jdbc.properties”的文件则
<!--如果名叫“jdbc.properties”的文件并没有被找到,则添加这个-->
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>