gpt4 book ai didi

java - JdbcTemplate 类型未定义方法 queryForInt(String)

转载 作者:搜寻专家 更新时间:2023-10-31 19:37:53 25 4
gpt4 key购买 nike

我正在尝试执行一个 sql 查询并尝试在一个整数变量中获取它的值,但是我收到一个编译时错误提示

The method queryForInt(String) is undefined for the type JdbcTemplate

我认为我的代码是正确的,所以我的 pom 文件有问题。

我的 pom.xml 文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>sql</groupId>
<artifactId>sql</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>sql</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.0.RELEASE</spring.version>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>



<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>




<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>



<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>


</dependencies>
</project>

我的 app.java 文件:

package sql.sql;


import java.sql.ResultSet;
import java.sql.SQLException;
//import org.springframework.jdbc.core;
import java.util.List;

import javax.sql.DataSource;

//import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;


public class App
{
public static void main( String[] args )
{
//DataSource dataSource = null ;
ApplicationContext context =
new ClassPathXmlApplicationContext("web.xml");
DataSource obj = (DataSource) context.getBean("dataSource");
JdbcTemplate jdbcTemplateObject = new JdbcTemplate(obj);


String SQL1 = "select count(*) from issues";
int row1 = jdbcTemplateObject.queryForInt(SQL1);
System.out.println(row1);

System.out.println( "Hello World!" );
}
}

最佳答案

方法JdbcTemplate.queryForIntdeprecated在 Spring 3.2.2 中是 removed在 Spring 4.2.0 中。

实际上你的pom.xml中存在依赖冲突: 你依赖 Spring 版本 4.1.0.RELEASE4.2.0.RELEASE (对于 spring-jdbc)。 Maven 通过使用版本 4.2.0.RELEASE 解决了这个冲突对于所有 Spring 依赖项,这就是方法 queryForInt 的原因不可用。

你可以:

我建议您升级,因为继续使用已弃用的 API 不是一个好习惯。

参见 this question了解更多信息。

关于java - JdbcTemplate 类型未定义方法 queryForInt(String),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32225444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com