Java com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知列';城市0.国家代码';在';字段列表';用弹簧靴
尝试使用Gradle创建一个简单的SpringBoot应用程序Api和数据库。尝试从表中获取数据时,使用api调用,在邮递员中获取异常:Java com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知列';城市0.国家代码';在';字段列表';用弹簧靴,java,mysql,hibernate,spring-boot,entity,Java,Mysql,Hibernate,Spring Boot,Entity,尝试使用Gradle创建一个简单的SpringBoot应用程序Api和数据库。尝试从表中获取数据时,使用api调用,在邮递员中获取异常: { "timestamp": "2018-04-01T12:45:40.218+0000", "status": 500, "error": "Internal Server Error", "message": "could not extract ResultSet; SQL [n/a]; nested exception
{
"timestamp": "2018-04-01T12:45:40.218+0000",
"status": 500,
"error": "Internal Server Error",
"message": "could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet",
"path": "/api/demo/towns"
}
在有下一个例外的想法中:
2018-04-01 15:44:29.553错误17532---[nio-8080-exec-2]
o、 h.engine.jdbc.spi.SqlExceptionHelper:未知列
“现场列表”2018-04-01 15:44:29.578中的“城市0国家代码”
17532---[nio-8080-exec-2]o.a.c.c.c.[dispatcherServlet]:
Servlet[dispatcherServlet]在具有路径的上下文中的Servlet.service()
[]引发异常[请求处理失败;嵌套异常为
org.springframework.dao.InvalidDataAccessResourceUsageException:可能
未提取结果集;SQL[n/a];嵌套异常为
org.hibernate.exception.sqlgrammareexception:无法提取
带有根本原因的结果集]
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知
“字段列表”中的“城市0.国家代码”列位于
sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
~(na:1.8.0_144)at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
~(na:1.8.0_144)at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~(na:1.8.0_144)at
newInstance(Constructor.java:423)
~(na:1.8.0_144)at
com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.Util.getInstance(Util.java:408)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966)
~[mysql-connector-java-5.1.45.jar:5.1.45]at
com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
~[HikariCP-2.7.8.jar:na]at
com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
~[HikariCP-2.7.8.jar:na]at
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:60)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.getResultSet(loader.java:2168)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.executeQueryStatement(loader.java:1931)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.executeQueryStatement(loader.java:1893)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.doQuery(loader.java:938)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.doQueryAndInitializeNonLazyCollections(loader.java:341)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.doList(loader.java:2692)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.doList(loader.java:2675)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.listIgnoreQueryCache(loader.java:2507)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.loader.list(loader.java:2502)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:392)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.internal.SessionImpl.list(SessionImpl.java:1489)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1445)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.query.query.getResultList(query.java:146)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.hibernate.query.criteria.internal.compile.CriteriaQueryTypeQueryAdapter.getResultList(CriteriaQueryTypeQueryAdapter.java:72)
~[hibernate-core-5.2.14.Final.jar:5.2.14.Final]at
org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:307)
~[spring-data-jpa-2.0.5.RELEASE.jar:2.0.5.RELEASE]at
org.springframework.data.jpa.repository.support.SimpleJpaRepository.findAll(SimpleJpaRepository.java:74)
~[spring-data-jpa-2.0.5.RELEASE.jar:2.0.5.RELEASE]at
sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
~(na:1.8.0_144)at
invoke(NativeMethodAccessorImpl.java:62)
~(na:1.8.0_144)at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.lang.reflect.Method.invoke(Method.java:498)的~[na:1.8.0144]
~(na:1.8.0_144)at
org.spr
@Entity
@Table(name="city")
public class City implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="Name")
private String name;
@Column(name="CountryCode")
private String countryCode;
@Column(name="District")
private String district;
@Column(name="Population")
private int population;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCountryCode() {
return countryCode;
}
public void setCountryCode(String countryCode) {
this.countryCode = countryCode;
}
public String getDistrict() {
return district;
}
public void setDistrict(String district) {
this.district = district;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
this.population = population;
}
public City(String name, String countryCode, String district, int population){
this.name = name;
this.countryCode = countryCode;
this.district = district;
this.population = population;
}
public City(){
}
}
@Repository("cityRepository")
public interface CityRepository extends CrudRepository<City, Integer> {
}
@RestController
@RequestMapping("/api/demo")
public class DemoController {
@Autowired
@Qualifier("cityRepository")
private CityRepository cityRepository;
@RequestMapping(value = "towns",
method = RequestMethod.GET,
produces = {MimeTypeUtils.APPLICATION_JSON_VALUE},
headers = "Accept=application/json")
public ResponseEntity<Iterable<City>> getTowns() {
Iterable<City> list = cityRepository.findAll();
return new ResponseEntity<Iterable<City>>(list, HttpStatus.OK);
}
}