自定义初始化
定义数据连接
利用baskreport.properties定义连接
在bask report.home目录下添加一个baskreport.properties配置文件,参考配置如下:
baskreport.store.database.driver=com.mysql.jdbc.Driver
baskreport.store.database.initialsize=0
baskreport.store.database.validationQuery=select 1
baskreport.store.database.platform=mysql
baskreport.store.database.maxTotal=10
baskreport.store.database.minIdle=0
baskreport.store.database.username=root
baskreport.store.database.password=helpdesk
baskreport.config.type=jdbc
baskreport.store.database.url=jdbc\:mysql\://localhost\:3306/baskreport?useUnicode\=true&characterEncoding\=UTF-8&useSSL\=false
baskreport.store.database.maxIdle=10
baskreport默认采用DBCP链接池管理数据连接。
如果你想自定义数据连接那么需要特别注意如下的几个参数的含义。
baskreport.store.database.platform
该参数用以定义数据库类型,可以支持的有
- db2
- dm
- hsql
- informix
- mysql
- oracle
- postgresql
- kingbase
- sqlLite
- sqlServer
分别代表不同类型的数据库
baskreport.config.type
如果你希望更改连接池或使用jndi实现数据连接,则可以通过baskreport.config.type参数调整,它可以支持三种类型:
- jdbc
- jndi(利用JNDI定义数据源)
- connection(利用自定义的数据源定义数据连接,例如直接使用Spring中配置好的数据源)
jndi参考配置如下:
baskreport.store.database.platform=mysql
baskreport.config.type=jndi
baskreport.config.jndi=Jndi名称
connection参考配置如下:
baskreport.config.type=connection
baskreport.store.database.platform=mysql
baskreport.store.database.classname=自定义数据源连接的bean对象
其中connectionClassName是baskreport提供的一个接口类的实现类路径,如:
com.example.config.UserConnectionProvider
该类需要实现ConnectionProvider接口:
com.basksoft.report.core.model.datasource.ConnectionProvider
接口定义如下:
import java.sql.Connection;
public interface ConnectionProvider {
Connection getConnection();//返回JDBC的数据连接对象
}
在该方法中你可以直接返回项目环境中的数据连接对象。
如果你希望采用c3p0或当前spring环境中的其他数据源的时候可以采用自定义ConnectionProvider的机制实现
创建系统表
选择合适的数据库建库脚本下载
baskreport需要在数据库中创建一些系统表,相关的建库脚本为:
利用以上的建表的脚本完成baskreport相关的数据库表的创建。
插入系统表的初始化数据
选择合适的数据库数据初始化的脚本
另外我们还要为上面创建好的数据库表格插入一些初始化数据:
利用以上的脚本完成数据库初始化的工作。