DatabasePopulator详解
来源:互联网 发布:天龙八部mac版 编辑:程序博客网 时间:2024/06/03 04:46
org.springframework.jdbc.datasource.init.DatabasePopulator
1、作用
interface DatabasePopulator用于填充、初始化或清理数据库的策略。
2、方法
public void populate(Connection connection) throws SQLException,ScriptException
该方法的作用是使用提供的JDBC连接填充,初始化或清理数据库。
——Connection:已知的JDBC连接
——SQLException:在发生数据库访问异常时抛出。
——ScriptException:在除数据库异常之外的所有异常时抛出。
3、实现类
该接口目前已知的实现类有:CompositeDatabasePopulator, ResourceDatabasePopulator
3.1 CompositeDatabasePopulator
3.1.1作用
CompositeDatabasePopulator代表了一系列的DatabasePopulator的实现,执行所有的脚本。
3.1.2方法
public void addPopulators(DatabasePopulator...populators)
——添加一个或多个DatabasePopulator
public void populate(Connection connection) throwsSQLException, ScriptException
——执行所有的脚本
public void setPopulators(DatabasePopulator... populators)
——设置一个或多个DatabasePopulator
3.2 ResourceDatabasePopulator(重点)
3.2.1作用
使用SQL脚本中定义的外部资源进行初始化或清理数据库。
3.2.2方法
public void addScript(Resource script)
——添加一个用于初始化或清理数据库的外部资源
public void addScripts(Resource... scripts)
——添加多个用于初始化或清理数据库的外部资源
public void setScripts(Resource... scripts)
——设置用于初始化或清理数据库的外部资源,并替代之前所有的添加的资源
public void setSqlScriptEncoding(String sqlScriptEncoding)
——如果sql脚本与项目编码不一致,用于设置sql脚本的编码
public void setSeparator(String separator)
——设置脚本中sql的分隔符,默认是英文分号(“;”)
public void setCommentPrefix(String commentPrefix)
——设置注释的前缀,默认是两个中划线(“--”)
public void setBlockCommentStartDelimiter(String blockCommentStartDelimiter)
——设置段落注释的开始标记,默认是“/*”
public void setBlockCommentEndDelimiter(String blockCommentEndDelimiter)
——设置段落注释的结束标记,默认是“*/”
public void setContinueOnError(boolean continueOnError)
——设置当出错是是否继续,默认是false即不继续
public void setIgnoreFailedDrops(boolean ignoreFailedDrops)
——设置是否忽略删除错误,默认是false即不忽略
public void populate(Connection connection) throws ScriptException
——进行初始化或清理数据库。
public void execute(DataSource dataSource) throws ScriptException
——根据给定的数据源执行ResourceDatabasePopulator
另外:我们在使用上面进行初始化的时候还会涉及到另外几个类:
4、相关类
DatabasePopulatorUtils, ScriptUtils, DataSourceInitializer
这几个类主要是配合DatabasePopulator进行初始化、清理数据库使用的工具类或设置类等。如需要或感兴趣的可以点击对应的查看文档。
5、使用示例
ResourceDatabasePopulator populator =new ResourceDatabasePopulator();
//加载sql资源
populator.setScripts(new Resource[] {new ClassPathResource(fileName) });
//执行sql
DatabasePopulatorUtils.execute(populator,dataSource);
- DatabasePopulator详解
- 详解
- 详解
- 详解
- 详解
- &,&&,|,||详解
- 详解
- Scala详解--------基础知识详解
- Spring详解-----------事务详解
- github 详解详解
- InputFilter详解、TextWatcher详解
- Spring详解-----------事务详解
- 【词汇详解】事务详解
- Session 详解
- Session 详解
- sizeof详解
- 端口详解
- Meta详解~~~
- java验证码
- upload to app Atore 错误信息汇总
- HDU OJ-1084 数塔
- android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): T
- GOOGLE PROTOBUF开发者指南
- DatabasePopulator详解
- App架构经验总结
- POJ 3928-Ping pong(树状数组+加/乘法原理)
- HDU 5438 Ponds(BFS+拓扑排序)【2015亚洲区长春站网赛B】
- 闪电精灵SEO 打破百度快速排名规则
- 设置了width:100%,移动设备上宽度还是现实不正确
- POJ 3974 Manacher 模板题
- Linux命令大全
- 弘扬文化,传承文明-西安第七届文化马拉松