前几天组里做一个小项目,只是简单的crud,涉及的数据量也很小,于是leader让直接用spring boot内嵌数据库h2。
第一步:添加h2的依赖
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
第二步:编写配置
#数据库url,db名称随便起(这里为projectdb),项目启动后会在硬盘上自动生成db文件
spring.datasource.url = jdbc:h2:~/projectdb;AUTO_SERVER=TRUE;DB_CLOSE_DELAY=-1
#用户名
spring.datasource.username = sa
#密码,项目启动成功后可以通过web console连接数据库
spring.datasource.password = 32sfdsrfd
#驱动
spring.datasource.driverClassName =org.h2.Driver
#配置web console的路径,若不配置则默认就是localhost:8080/contextpath/h2-console
#如果不配置,虽然本地可以通过这个路径访问,但项目打war包发到tomcat下面,通过这个路径是访问不到的
spring.h2.console.path=/h2-console
spring.h2.console.enabled=true
配置完启动项目,登陆web consle(注意改一下数据库名称)
注意:使用内嵌模式的数据库,在项目运行时,通过客户端连接工具时连不上数据库的,会提示already in use,只能通过项目的web console连接。那把web console的路径暴露出去岂不是一件很不安全的事情?其实,web console 只能是服务器本机才能连接,其他机器是没有权限连的,所以大可不必担心这个问题