org.springframework.jdbc.BadSqlGrammarException 错误 求大神帮指导 本人新手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了org.springframework.jdbc.BadSqlGrammarException 错误 求大神帮指导 本人新手相关的知识,希望对你有一定的参考价值。

参考技术A

1、首先,要检查你的网络连接,看一看是不是因为网络原因导致无法打开网页。

2、点击系统托盘的网络连接图标,在弹出的菜单中检查网络是否连接,如果显示没有连接,请点击连接。如果显示已连接,请点击断开按钮,重新连接,因为有时候显示的是连接,实际网络已经断开。

3、如果做了上述操作,依然不能正常打开,要检查一下你电脑的安全软件是否阻止浏览器打开网页。比如有一些安全软件有阻止访问网站的功能,只要取消这个功能就可以了。

还有一种可能是系统的防火墙阻止了浏览器程序的运行。

1.打开控制面板,点击防火墙选项,选择使用推荐的设置。

2.然后点击界面左边导航栏的高级设置选项,如果系统开启了账户安全控制会暗屏,选择通过即可。

3.在高级设置中找到你的浏览器的位置,如图,看是否被 阻止访问网络,如果有,就点击这个选项,然后选择放行就可以取消阻止了。

参考技术B 你好,这个报的是sql异常,应该是你添加的sql本身就有问题,或者没有在相关类里面添加sql在传参数过程中接收或返回值的类型追问

是不是我的sql语句有问题 我做的是一个查询的语句,需要在后面加一个排序,我刚才试了试 本身sql语句不加排序没有错,如果加上排序的话就报这个错。而且,如果我不是以我排序的对象作为目标对象而选择其他对象进行排序的话就不报错,我为了验证自己的sql语句就把它放在数据库进行查询,结果报这个错:You have an error in your SQL syntax

追答

你这个sql是写到xml里面,使用配置传的参数还是写到java里面用字符串进行拼接而成

本回答被提问者采纳
参考技术C 注意,自己写的sql结尾不要加分号 就是这个 -> ; <-就是这个
;
;
;
;
;

缺少使用 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder 的方法

【中文标题】缺少使用 org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder 的方法【英文标题】:Missing methods using org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder 【发布时间】:2019-06-18 10:11:02 【问题描述】:
Caused by: java.lang.NoSuchMethodError: 
 org.springframework.util.MultiValueMap.addAll(Ljava/lang/Object;Ljava/util/List;)V

在构建数据源时遇到此错误:

return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .setName("table_name")
                .setScriptEncoding("UTF-8")
                .addScript("classpath:sql_schema_path")
                .setDataSourceFactory(embeddedDataSourceFactory) // @bean to pass Factory values
                .build();

我猜这个MultiValuedMap.addAll 在springframework 试图构建构建EmbeddedDatabase 时在幕后使用。不知道为什么我会收到这个错误,有什么建议吗?

【问题讨论】:

该错误提示您正在组合不同版本的 Spring 依赖项。确保你的依赖是一致的。 请不要在标题中添加“已解决”之类的内容。如果您设法解决了问题,请接受帮助您解决问题的答案,或者发布您自己的答案并在超时后接受。 我添加了“已解决”,如果有人有熟悉的问题,并且当 github 推荐已经存在的熟悉问题时,他们可以看到它已解决,但我会在几天后接受我的回答(: 【参考方案1】:

好吧,就我而言,我使用的是&lt;springversion&gt;4.2.5.RELEASE&lt;/springversion&gt;,并且在 maven 存储库中它清楚地表明如果我使用spring-boot-jdbc-2.1.5,我需要使用至少 springframework 版本 5.1.7.RELEASE mvn_link_here。我可能错过了,我的错。

如果有人只使用spring,那么你应该使用SimpleDriverDataSource,它是org.springframework.jdbc.datasource的一部分,你可以使用它指定url、驱动程序、用户名和密码。

那里没有太多的例子,所以我实现它的方式和它的工作原理是这样的:

@Configuration
@PropertySource("classpath:properties.file")
public class DatabaseServiceImplTestConfig 

    @Autowired
    private Environment env;

    @Bean
    public DataSourceFactory embeddedDataSourceFactory() 
        return new DataSourceFactory() 
            @Override
            public ConnectionProperties getConnectionProperties() 
                return new ConnectionProperties() 

                    @Override
                    public void setUsername(String username) 

                    @Override
                    public void setPassword(String password) 

                    @Override
                    public void setUrl(String url) 

                    @Override
                    public void setDriverClass(Class<? extends Driver> driverClass) 

                ;
            

            @Override
            public DataSource getDataSource() 
                SimpleDriverDataSource sds = new SimpleDriverDataSource();
                sds.setDriverClass(com.mysql.jdbc.Driver.class); // <- try to return Driver object too (using setDriver)
                sds.setUrl(env.getProperty("jdbc.connection.url"));
                sds.setUsername(env.getProperty("jdbc.connection.username"));
                sds.setPassword(env.getProperty("jdbc.connection.password"));
                return sds;
            
        ;
    

    @Bean
    public DataSource embeddedDataSource(DataSourceFactory embeddedDataSourceFactory) 

        return new EmbeddedDatabaseBuilder()
                .setType(EmbeddedDatabaseType.H2)
                .setName("table_name_here")
                .setScriptEncoding("UTF-8")
                .addScript("classpath:path/to/your/shema.sql")
                .setDataSourceFactory(embeddedDataSourceFactory)  // <- call the bean here
                .build();
    

【讨论】:

如果您使用的是 Spring Boot,那么您甚至不应该指定任何 Spring 依赖项的版本,而是依赖 Spring Boot BOM 来为您确定版本。

以上是关于org.springframework.jdbc.BadSqlGrammarException 错误 求大神帮指导 本人新手的主要内容,如果未能解决你的问题,请参考以下文章

org.springframework.jdbc.support.MetaDataAccessException:Spring Boot 中的 JDBC DatabaseMetaData 方法

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection

org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback;未分类的 SQLException

如何使用 org.springframework.jdbc.object 实现可重用的 ddl 语句?

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection

org.springframework.jdbc.BadSqlGrammarException: Error updating database