首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能使用MySql进行春季温室项目吗?

不能使用MySql进行春季温室项目吗?
EN

Stack Overflow用户
提问于 2013-01-07 19:10:48
回答 2查看 588关注 0票数 0

我刚刚检查了Spring温室项目,作为学习Spring安全性的第一步。这个项目运行得很好,但我想知道以下情况:

有两种配置:标准配置和嵌入式配置。javadoc说嵌入式是默认的。我不确定如何让它在标准模式下运行。以前有没有人试过这个?

其次,在嵌入式模式下,我使用以下代码稍微修改了代码,以便使用MySql运行它,但令我惊讶的是,应用程序根本没有启动。它抛出以下错误:

代码语言:javascript
复制
throw new RuntimeException("Unable to determine database version", e);

@Bean(destroyMethod="shutdown")
public DataSource dataSource() {
    // EmbeddedDatabaseFactory factory = new EmbeddedDatabaseFactory();
    // factory.setDatabaseName("greenhouse");
    // factory.setDatabaseType(EmbeddedDatabaseType.);
    DriverManagerDataSource mysqldataSource = new DriverManagerDataSource();
    mysqldataSource.setDriverClassName("com.mysql.jdbc.Driver");
    mysqldataSource.setUrl("jdbc:mysql://localhost/greenhouse?useConfigs=maxPerformance&characterEncoding=utf8");
    mysqldataSource.setUsername("root");
    mysqldataSource.setPassword("mysql");
    return populateDatabase(mysqldataSource);       
}

有没有人能帮我这个忙?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-21 18:16:22

我自己想出来的。web.xml中有一个标签,我把它从嵌入式改为了标准。问题出在创建数据库版本表的sql查询中,这与mysl无关。还有其他问题也不是mysql的抱怨。我更改了sql查询,现在一切都像预期的那样工作。我的下一件事是使用某种通用的数据库查询生成器,这样如果将来我改变主意,使用post gre sql代替我的sql,我就不必更改查询。感谢您的帮助和支持。

票数 0
EN

Stack Overflow用户

发布于 2013-01-17 19:26:33

从您得到的异常判断,您感兴趣的文件是GenericDatabaseUpgrader.java

其中超过一半的代码引用了DatabaseVersion,这是一个在不存在时创建的表。由于我怀疑您已经有了它,并且从异常类型(SQLException)判断,我倾向于认为它无法创建/插入/检索被引用的表。

您可以查看是否有桌子,然后从那里出发。

此外,从您试图注入的代码来判断,我也认为connection = dataSource.getConnection()可能是罪魁祸首。

附注:关于标准/嵌入式,似乎您可以使用VM参数或maven设置在两者之间切换。请查看the official forums and specifically this topic for info

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14194697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档