在spring的applicationContext.xml中如果引入了:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"-->xmlns中引入这个
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
           http://www.springframework.org/schema/aop 
           http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
           http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
        http://www.springframework.org/schema/jdbc---------------------------------->xsi:schemaLocation中引入这个
        http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd-------->xsi:schemaLocation中引入这个
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-3.2.xsd">
</beans>
总体来说就是引入了jdbc的schema。那么我们就可以用jdbc标签了,本文只说<jdbc:initialize-database>标签。
先给一个例子,再借例子加以说明。
例子:
<jdbc:initialize-database data-source="dataSource" ignore-failures="NONE" enabled="${jdbc.initializedatabase}">
<jdbc:script encoding="utf-8" location="/WEB-INF/db-init.sql"/>
</jdbc:initialize-database>

jdbc:initialize-database这个标签的作用是在工程启动时,去执行一些sql,也就是初始化数据库。比如向数据库中建立一些表及插入一些初始数据等。这些sql的路径需要在其子标签jdbc:script中去指定。
1.jdbc:initialize-database标签
a.dataSource不用说,要引一个配置好的数据源。
b.ignore-failures有三个值:NONE,DROPS,ALL,设置为NONE时,不忽略任何错误,也就是说,当sql执行报错时服务启动终止。设置为DROPS时,忽略删除错误,如当sql中有一个删除表drop table d_area的sql,而d_area表不存在,此时这个错误会被忽略。设置为ALL时,忽略任何错误。
c.enabled是用来表明初始化数据库是否执行。这个很有用,一般初始化一次就够了,第二次以后就没必要了,除了特殊情况。这个enabled的值是一个boolean值。设置方法有三。一是直接写true或false;二是根据配置文件某个值来设置,本文用的是这个。
<bean id="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>WEB-INF/db.properties</value>
</list>
</property>
</bean>

设置enabled="${jdbc.initializedatabase}"后,会到properties中去获取key为jdbc.initializedatabase的值。三是这样设置:enabled="#{systemProperties.INITIALIZE_DATABASE}",这样设置后,会到你所设置的dataSource中去找property名字为systemProperties.INITIALIZE_DATABASE的值或prop key为systemProperties.INITIALIZE_DATABASE的值。
2.jdbc:initialize-database这个标签必需要至少包含一个<jdbc:script>,这个标签是来指定你要初始化数据库的sql的路径。如:location="/WEB-INF/db-init.sql"/;location="classpath:com/sql/db-init.sql"。encoding是指明字符集。

jdbc:initialize-database标签的研究的更多相关文章

  1. JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language

    JDBC(Java Database Connectivity,Java数据库连接)API是一个标准SQL(Structured Query Language,结构化查询语言)数据库访问接口,它使数据 ...

  2. [19/05/06-星期一] JDBC(Java DataBase Connectivity,java数据库连接)_基本知识

    一.概念 JDBC(Java Database Connectivity)为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成.是java程序与数据库系统通信的标准API. J ...

  3. Trail: JDBC(TM) Database Access(1)

    package com.oracle.tutorial.jdbc; import java.sql.BatchUpdateException; import java.sql.Connection; ...

  4. maven 标签classifier 研究一下

    研究一下maven的标签: <dependency> <groupId>io.netty</groupId> <artifactId>netty-tcn ...

  5. 基于JDBC的数据库连接池技术研究与应用

    引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的3层开 ...

  6. [J2EE规范]JDBC简单例子 标签: 数据库j2eejdbcjava 2017-06-29 10:55 353人阅读 评论(12)

    JDBC是什么? JDBC是java数据库连接(Java Database Connectivity),它是用于java编程语言和数据库之间的数据库无关连接的标准Java API,就是说,JDBC是用 ...

  7. Trail: JDBC(TM) Database Access(2)

    package com.oracle.tutorial.jdbc; import java.sql.CallableStatement; import java.sql.Connection; imp ...

  8. JDBC (Java DataBase Connectivity)数据库连接池原理解析与实现

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  9. [19/05/07-星期二] JDBC(Java DataBase Connectivity)_CLOB(存储大量的文本数据)与BLOB(存储大量的二进制数据)

    一. CLOB(Character Large Object ) – 用于存储大量的文本数据 – 大字段有些特殊,不同数据库处理的方式不一样,大字段的操作常常是以流的方式来处理的.而非一般的字段,一次 ...

随机推荐

  1. 导出文件在IE和火狐中文件名乱码问题的解决

    $ua = $_SERVER["HTTP_USER_AGENT"]; $filename = "客户数据.xls"; $encoded_filename = u ...

  2. [Bug]Unable to start process dotnet.exe

    This morning I did a sync of a repo using of Visual Studio and then tried to run a web application I ...

  3. .net项目中使用Quartz

    (1)在web.config中进行相关配置 <configSections> <section name="quartz" type="System.C ...

  4. iOS中block简介-作用域

    转:http://www.2cto.com/kf/201401/269467.html 用block可以定义任意的代码片段,将其像对象一样传入另一个方法:它是c级别的语法,和C语言中的函数指针非常相似 ...

  5. 用 setMessage 方法灵活复用 UIAlertView

  6. 教你调用数据库读取短信 记事本 通讯录文件,让ios5的短信恢复到ios4

    由于高版本的ios固件向下恢复到低版固件时无法通过itunes恢复备份,所以一些数据,比如SMS需要通过提取文件的方式单独进行备份恢复特别是ios5的短信,之前很是头痛,直接将文件恢复到指定目录修改权 ...

  7. SQL 参考

    本主题将介绍 ArcGIS 中的选择表达式所用的常规查询的各个元素.ArcGIS 中的查询表达式使用常规 SQL 语法. 警告: SQL 语法不适用于使用字段计算器计算字段. 字段 在 SQL 表达式 ...

  8. 闪电侠第四季/全集The Flash迅雷下载

    闪电侠第四季>(The Flash Season 4)是DC娱乐和华纳联手CW电视台制作的真人超级英雄系列剧,是美剧<闪电侠>系列的第四季. 该季于2017年10月10日在美国CW电 ...

  9. Android之用自定义的shape去实现shadow效果

    直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector x ...

  10. 通过layer-list自定义EditText背景

    假设activity的背景是白色,第一层也(就是最底层)是绿色:第二次是白色,但是距离底部有一段小偏移,目的是为了做出文本框两边的小勾:第三层也是白色,但是它距离底部和左右两边都有一定距离.通过三层配 ...