内容

一、异常信息

严重: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:

### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘name’ in where clause is ambiguous
### The error may exist in com/yy/homework/mapper/EmployeeMapper.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: select e.id, e.username, e.name, e.password, e.email, e.age, e.admin, e.dept_id, d.id d_id, d.name d_name, d.sn d_sn from employee e join department d on e.dept_id = d.id WHERE (name like concat(’%’, ? ,’%’) or e.email like concat(’%’, ? ,’%’)) limit ?, ?
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘name’ in where clause is ambiguous
; ]; Column ‘name’ in where clause is ambiguous; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘name’ in where clause is ambiguous] with root cause
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column ‘name’ in where clause is ambiguous
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)
at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:498)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)
at com.sun.proxy.

P

r

o

x

y

53.

e

x

e

c

u

t

e

(

U

n

k

n

o

w

n

S

o

u

r

c

e

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

s

t

a

t

e

m

e

n

t

.

P

r

e

p

a

r

e

d

S

t

a

t

e

m

e

n

t

H

a

n

d

l

e

r

.

q

u

e

r

y

(

P

r

e

p

a

r

e

d

S

t

a

t

e

m

e

n

t

H

a

n

d

l

e

r

.

j

a

v

a

:

63

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

s

t

a

t

e

m

e

n

t

.

R

o

u

t

i

n

g

S

t

a

t

e

m

e

n

t

H

a

n

d

l

e

r

.

q

u

e

r

y

(

R

o

u

t

i

n

g

S

t

a

t

e

m

e

n

t

H

a

n

d

l

e

r

.

j

a

v

a

:

79

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

S

i

m

p

l

e

E

x

e

c

u

t

o

r

.

d

o

Q

u

e

r

y

(

S

i

m

p

l

e

E

x

e

c

u

t

o

r

.

j

a

v

a

:

63

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

B

a

s

e

E

x

e

c

u

t

o

r

.

q

u

e

r

y

F

r

o

m

D

a

t

a

b

a

s

e

(

B

a

s

e

E

x

e

c

u

t

o

r

.

j

a

v

a

:

324

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

B

a

s

e

E

x

e

c

u

t

o

r

.

q

u

e

r

y

(

B

a

s

e

E

x

e

c

u

t

o

r

.

j

a

v

a

:

156

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

C

a

c

h

i

n

g

E

x

e

c

u

t

o

r

.

q

u

e

r

y

(

C

a

c

h

i

n

g

E

x

e

c

u

t

o

r

.

j

a

v

a

:

109

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

e

x

e

c

u

t

o

r

.

C

a

c

h

i

n

g

E

x

e

c

u

t

o

r

.

q

u

e

r

y

(

C

a

c

h

i

n

g

E

x

e

c

u

t

o

r

.

j

a

v

a

:

83

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

s

e

s

s

i

o

n

.

d

e

f

a

u

l

t

s

.

D

e

f

a

u

l

t

S

q

l

S

e

s

s

i

o

n

.

s

e

l

e

c

t

L

i

s

t

(

D

e

f

a

u

l

t

S

q

l

S

e

s

s

i

o

n

.

j

a

v

a

:

148

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

s

e

s

s

i

o

n

.

d

e

f

a

u

l

t

s

.

D

e

f

a

u

l

t

S

q

l

S

e

s

s

i

o

n

.

s

e

l

e

c

t

L

i

s

t

(

D

e

f

a

u

l

t

S

q

l

S

e

s

s

i

o

n

.

j

a

v

a

:

141

)

a

t

j

a

v

a

.

b

a

s

e

/

j

d

k

.

i

n

t

e

r

n

a

l

.

r

e

f

l

e

c

t

.

N

a

t

i

v

e

M

e

t

h

o

d

A

c

c

e

s

s

o

r

I

m

p

l

.

i

n

v

o

k

e

0

(

N

a

t

i

v

e

M

e

t

h

o

d

)

a

t

j

a

v

a

.

b

a

s

e

/

j

d

k

.

i

n

t

e

r

n

a

l

.

r

e

f

l

e

c

t

.

N

a

t

i

v

e

M

e

t

h

o

d

A

c

c

e

s

s

o

r

I

m

p

l

.

i

n

v

o

k

e

(

N

a

t

i

v

e

M

e

t

h

o

d

A

c

c

e

s

s

o

r

I

m

p

l

.

j

a

v

a

:

62

)

a

t

j

a

v

a

.

b

a

s

e

/

j

d

k

.

i

n

t

e

r

n

a

l

.

r

e

f

l

e

c

t

.

D

e

l

e

g

a

t

i

n

g

M

e

t

h

o

d

A

c

c

e

s

s

o

r

I

m

p

l

.

i

n

v

o

k

e

(

D

e

l

e

g

a

t

i

n

g

M

e

t

h

o

d

A

c

c

e

s

s

o

r

I

m

p

l

.

j

a

v

a

:

43

)

a

t

j

a

v

a

.

b

a

s

e

/

j

a

v

a

.

l

a

n

g

.

r

e

f

l

e

c

t

.

M

e

t

h

o

d

.

i

n

v

o

k

e

(

M

e

t

h

o

d

.

j

a

v

a

:

566

)

a

t

o

r

g

.

m

y

b

a

t

i

s

.

s

p

r

i

n

g

.

S

q

l

S

e

s

s

i

o

n

T

e

m

p

l

a

t

e

Proxy53.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.mybatis.spring.SqlSessionTemplate

Proxy53.execute(UnknownSource)atorg.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:63)atorg.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)atorg.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)atorg.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)atorg.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)atorg.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)atorg.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)atorg.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)atorg.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)atjava.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atjava.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)atjava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)atjava.base/java.lang.reflect.Method.invoke(Method.java:566)atorg.mybatis.spring.SqlSessionTemplateSqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
at com.sun.proxy.

P

r

o

x

y

44.

s

e

l

e

c

t

L

i

s

t

(

U

n

k

n

o

w

n

S

o

u

r

c

e

)

a

t

o

r

g

.

m

y

b

a

t

i

s

.

s

p

r

i

n

g

.

S

q

l

S

e

s

s

i

o

n

T

e

m

p

l

a

t

e

.

s

e

l

e

c

t

L

i

s

t

(

S

q

l

S

e

s

s

i

o

n

T

e

m

p

l

a

t

e

.

j

a

v

a

:

230

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

b

i

n

d

i

n

g

.

M

a

p

p

e

r

M

e

t

h

o

d

.

e

x

e

c

u

t

e

F

o

r

M

a

n

y

(

M

a

p

p

e

r

M

e

t

h

o

d

.

j

a

v

a

:

137

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

b

i

n

d

i

n

g

.

M

a

p

p

e

r

M

e

t

h

o

d

.

e

x

e

c

u

t

e

(

M

a

p

p

e

r

M

e

t

h

o

d

.

j

a

v

a

:

75

)

a

t

o

r

g

.

a

p

a

c

h

e

.

i

b

a

t

i

s

.

b

i

n

d

i

n

g

.

M

a

p

p

e

r

P

r

o

x

y

.

i

n

v

o

k

e

(

M

a

p

p

e

r

P

r

o

x

y

.

j

a

v

a

:

59

)

a

t

c

o

m

.

s

u

n

.

p

r

o

x

y

.

Proxy44.selectList(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59) at com.sun.proxy.

Proxy44.selectList(UnknownSource)atorg.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)atorg.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:137)atorg.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:75)atorg.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)atcom.sun.proxy.Proxy45.selectAll(Unknown Source)
at com.yy.homework.service.impl.EmployeeServiceImpl.selectAll(EmployeeServiceImpl.java:32)
at com.yy.homework.web.controller.EmployeeController.selectAll(EmployeeController.java:36)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol

A

b

s

t

r

a

c

t

C

o

n

n

e

c

t

i

o

n

H

a

n

d

l

e

r

.

p

r

o

c

e

s

s

(

A

b

s

t

r

a

c

t

P

r

o

t

o

c

o

l

.

j

a

v

a

:

589

)

a

t

o

r

g

.

a

p

a

c

h

e

.

t

o

m

c

a

t

.

u

t

i

l

.

n

e

t

.

J

I

o

E

n

d

p

o

i

n

t

AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint

AbstractConnectionHandler.process(AbstractProtocol.java:589)atorg.apache.tomcat.util.net.JIoEndpointSocketProcessor.run(JIoEndpoint.java:312)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)

二、解决办法

1、造成原因


SQL语法错误,where 后面出现模棱两可的字段 name ,由于employee 和 department 中都存在 name,数据库不能识别你查询的是哪一个 name,所以报错。

2、解决

把 SQL 语句中 where 后面的 name 改成 e.name 或者 d.name,根据你需求来就好。

Column ‘name’ in where clause is ambiguous;的更多相关文章

  1. Column 'id' in where clause is ambiguous

    1.错误描述 org.hibernate.exception.ConstraintViolationException: error executing work at org.hibernate.e ...

  2. java mybatis Column 'AAA' in where clause is ambiguous

    今天在java mybatis项目中遇到一个问题,“java mybatis Column 'AAA' in where clause is ambiguous”, 这是由于在多表连接查询的时候,遇上 ...

  3. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'org_mer_id' in where clause is ambiguous

    ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolatio ...

  4. SQL语句之Column 'Status' in where clause is ambiguous错误

    问题: AND created_by IN (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) limit 0, 10]; Column 'created_by' in where cla ...

  5. Java开发问题:Column 'AAA' in where clause is ambiguous解决办法

    当在java开发中遇到了Column 'AAA' in where clause is ambiguous问题时, 你需要去看看:多表查询的时候不同的表是否出现了相同名称相同的列, 如果存在,你需要在 ...

  6. [Err] 1052 - Column ‘roleId‘ in where clause is ambiguous

    1.先看错误的sql语句: select a.authName from roles as r,authority as a,role_ah as ra where ra.roleId=r.roleI ...

  7. Column 'orders' in order clause is ambiguous

    今天报了这个错误 原因是.当使用sql查询语句,使用了join查表.但是这个orders没指定是哪张表的字段 ,发生在自关联情况

  8. mysql错误:Column ‘id’ in field list is ambiguous的解决方法

    [Err] 1052 - Column 'modify_time' in where clause is ambiguous 出错的语句: SELECT AVG(T.se)%60FROM( SELEC ...

  9. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'dd' in 'where clause'

    今天在使用mysql数据库查找数据的时候报错,错误信息如下: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown co ...

随机推荐

  1. Netty学习(二)使用及执行流程

    Netty简单使用 1.本文先介绍一下 server 的 demo 2.(重点是这个)根据代码跟踪一下 Netty 的一些执行流程 和 事件传递的 pipeline. 首先到官网看一下Netty Se ...

  2. 2022年官网下安装MAVEN最全版与官网查阅方法

    目录 确保JDK安装无误 一.百度输入关键字maven,选择官网,进入官网 二.找到下载位置,如图所示,双击进入 三.找到下载位置(下载的是安装包bin版本的,src是源码查看),双击下载 四.弹出保 ...

  3. 使用阿里巴巴开源镜像站镜像——Kubernetes 镜像

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 Kubernetes 镜像简介 Kubernetes 是一个开源系统,用于容器化应用的自动部署.扩缩和管理.它将构成应用的容器按逻辑单位进行分组以 ...

  4. tomcat启动 ssm项目出现乱码的解决

    0.乱码产生原因:编码和解码的方式是不同 1.出现乱码的解决方式[推荐]: 在tomcat 的配置文件web.xml 中添加上请求编码过滤器: <!-- 请求编码过滤器 --> <f ...

  5. Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)

    创建和分布表 要创建分布式表,您需要首先定义表 schema. 为此,您可以使用 CREATE TABLE 语句定义一个表,就像使用常规 PostgreSQL 表一样. CREATE TABLE ht ...

  6. SpringBoot:自定义注解实现后台接收Json参数

    0.需求 在实际的开发过程中,服务间调用一般使用Json传参的模式,SpringBoot项目无法使用@RequestParam接收Json传参 只有@RequestBody支持Json,但是每次为了一 ...

  7. hashCode()方法的作用?

    hashCode()方法与equals()方法相似,都是来自java.lang.Object类的方法,都允许用户定义的子类重写这两个方法. 一般来说,equals这个方法是给用户调用的,如果你想根据自 ...

  8. zk 节点宕机如何处理?

    Zookeeper 本身也是集群,推荐配置不少于 3 个服务器.Zookeeper 自身也要保 证当一个节点宕机时,其他节点会继续提供服务. 如果是一个 Follower 宕机,还有 2 台服务器提供 ...

  9. python实现AES加密、解密

    AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...

  10. 说说 RPC 的实现原理?

    首先需要有处理网络连接通讯的模块,负责连接建立.管理和消息的传输.其次需要有编解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化.剩下的就是客户端和服务器端的部分,服务器端 ...