Springboot+Sqlite+Jpa—完成数据库数据显示于前端页面
Sqlite与JPA结合时应注意的问题
Sqlite数据库一般应用于嵌入式产品,其以小巧、无需安装和配置、支持Java、PHP等优势而深受喜欢。JPA框架去掉了Sqlite支持,所以编写人员需要将JPA与Sqlite两者相兼容。要完成JPA和Sqlite二者兼容的目标,需要利用Maven导入方言包比如:hibernate4-sqlite-dialect或自编方言包。
<dependency>
<groupId>com.enigmabridge</groupId>
<artifactId>hibernate4-sqlite-dialect</artifactId>
<version>0.1.2</version>
</dependency>
Sqlite与Springboot结合注意的问题
Sqlite与Mysql、Oracle一样存在与Springboot交互的数据驱动jar包,可使用Maven导入即可。
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.23.1</version>
</dependency>
数据交互相关配置
Sqlite相关配置可以使用application.properties或application.yml文件生成配置即可,用本文的代码配置效果会好很多。
DataSourceConfig.java该文件是设置数据源。在本文件中,需要注意的是:
- dataSourceBuilder.driverClassName(驱动名);
- dataSourceBuilder.url(数据库链接);
- dataSourceBuilder.type(数据库类型);
package com.shop.sma.config;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.sqlite.SQLiteDataSource;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Bean(destroyMethod = "", name = "EmbeddedDataSource")
public DataSource dataSource() {
DataSourceBuilder dataSourceBuilder = DataSourceBuilder.create();
dataSourceBuilder.driverClassName("org.sqlite.JDBC");
//sqlite文件路径,可以是绝对路径也可以是相对路径
dataSourceBuilder.url("jdbc:sqlite:C:\\Users\\ermao\\db_shop.db");
dataSourceBuilder.type(SQLiteDataSource.class);
return dataSourceBuilder.build();
}
}
JpaConfig.java是JPA相关设置代码,需注意:
- basePackages = 自身项目mapper或dao包
- localContainerEntityManagerFactoryBean.setPackagesToScan( 自身项目实体类包);
- hibernateJpaVendorAdapter.setDatabasePlatform(自身项目方言包类);
package com