服务器启动的时候自动执行sql文件 以前用的方案是把sql文件放在部署的目录下边,启动的时候写了一个InitData类,该类在系统启动的时候自动加载,在该类中读取sql文件并调用ant的org.apache.tools.ant.taskdefs.SQLExec类执行sql文件,这样就ok了,但是现在不用ant了,换成maven了, maven有类是的工具类吗? 或还有别的其它办法, 注意是sql文件,里边可以是任何的sql语句。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如在web.xml里面定义点启动画面然后启动画面里面调用sql 定义一个监听器,在里面获得一个连接,直接你的sql文件就行 定义启动画面什么意思? 我上面说的InitData类也是在web.xml里面定义的启动时候首先加载的servlet, 我想问的是出来ant的工具类以外还有没有其它的方法来或类来执行sql文件 除了ant的工具类以外还有没有其它的方法来或类来执行sql文件的??? 大哥, 我的意思是sql文件怎么执行。 晕啦,你的sql文件里面还不就是些sql嘛,难道还有jdbc或者hibernate的session不能执行的sql吗? 文件里面有很多sql语句,我不可能一个个的把这个sql语句从文件中读出来。 org.apache.tools.ant.taskdefs.SQLExec类 就可以直接把整个文件执行了, hibernate可以直接执行整个文件吗? 搂主到底是想在打包部署时候执行sql文件,还是想在启动服务时候执行,如果是在启动服务时执行,跟ant有什么关系呢。定义一个启动servlet运行sql文件不久可以了吗 是启动的时候执行的。定义一个启动servlet运行sql文件不久可以了吗? 我也知道, 关键是servlet里面怎么能执行一个sql文件呢? 注意不是sql语句,是一个大的sql文件!!!!!! ant里有一个工具类传入一个文件路径,就可以把整个文件执行了, 还有类是的类吗? 晕, 都是错别字 上面是 还有类似的 工具类吗? 或可以执行一个sql文件的类 http://www.blogjava.net/Unmi/archive/2008/01/22/177056.html 看了一下, 你这个是自己读取文件,把文件解析成sql语句, 之后再执行这些sql语句要是按照这样都要自己写的话, 还不如用我上面说的ant的那个类, 别人都已经写好了直接执行文件的,干嘛还要造轮子只是我们现在不用ant了,用的是maven管理的项目, 所以不想再引用ant的包了, 所以才想是不是有其他的工具类能解决, 看来估计没有了。。 maven里面可以调用系统命令的吧,你直接调用数据库的导入程序直接执行SQL文件吧 在web.xml里面就可以定义一个启动项 <servlet> <servlet-name>InitServelt</servlet-name> <servlet-class>frame.base.InitServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>/** * 在服务启动的时候执行该类进行初始化 * @author Qiulingdong */public class InitServlet extends HttpServlet{ private Logger log = Logger.getLogger(InitServlet.class); public void init() { log.info("正在执行初始化......"); //初始化读取属性文件 BaseProperties.loadProperties(); }}比如这样的意思就是在启动服务的时候加载InitServelt类的方法,load-on-startup是执行的顺序 利用spring的如下配置,spring启动的时候就可以执行sql语句了.application.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:jee="http://www.springframework.org/schema/jee" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd " default-lazy-init="true"> <jdbc:initialize-database data-source="dataSource" ignore-failures="ALL"> <jdbc:script location="classpath:init_oracle.sql"/> </jdbc:initialize-database></beans> weblogic 数据源配置出错,有谁可以解答吗? Java编程语言程序的认识误区 JSP基于XML如何实现分页? spilt字节与字符问题 关于Hibernate逆向工程中主外键的问题 structs1&&structs2 为了运行applet ,如何让一台没装jre的机器自动安装jre,然后在运行applet? 如何集成其他系统的登录 初学sturts2 ,webworks请讲讲两者的关系,是否应该先学好webworks再看sturts2 ,请推荐一些相关的电子资料. 请问J2EE…… 【毕业设计求助】怎么实现验证jsp中输入框值的数据类型 传播有bug的代码会怎样?
然后启动画面里面调用sql
定义启动画面什么意思? 我上面说的InitData类也是在web.xml里面定义的启动时候首先加载的servlet, 我想问的是出来ant的工具类以外还有没有其它的方法来或类来执行sql文件
文件里面有很多sql语句,我不可能一个个的把这个sql语句从文件中读出来。 org.apache.tools.ant.taskdefs.SQLExec类 就可以直接把整个文件执行了, hibernate可以直接执行整个文件吗?
是启动的时候执行的。定义一个启动servlet运行sql文件不久可以了吗? 我也知道, 关键是servlet里面怎么能执行一个sql文件呢? 注意不是sql语句,是一个大的sql文件!!!!!! ant里有一个工具类传入一个文件路径,就可以把整个文件执行了, 还有类是的类吗?
<servlet-name>InitServelt</servlet-name>
<servlet-class>frame.base.InitServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
/**
* 在服务启动的时候执行该类进行初始化
* @author Qiulingdong
*/
public class InitServlet extends HttpServlet{
private Logger log = Logger.getLogger(InitServlet.class); public void init() {
log.info("正在执行初始化......");
//初始化读取属性文件
BaseProperties.loadProperties();
}
}
比如这样的意思就是在启动服务的时候加载InitServelt类的方法,load-on-startup是执行的顺序
<?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:jee="http://www.springframework.org/schema/jee"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd " default-lazy-init="true">
<jdbc:initialize-database data-source="dataSource" ignore-failures="ALL">
<jdbc:script location="classpath:init_oracle.sql"/>
</jdbc:initialize-database></beans>