Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column ‘u.user_id‘ in ‘whe

项目场景:

记录一下,如下报错

### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'u.user_id' in 'where clause' 
### The error may exist in file [D:\javaProject\exam\RuoYi-Vue-master\ruoyi-exam\target\classes\mapper\exam\MessageUserMapper.xml] 
### The error may involve com.ruoyi.exam.mapper.MessageUserMapper.selectMessageUserList-Inline 
### The error occurred while setting parameters 
### SQL: SELECT count(0) FROM t_message_user tmu LEFT JOIN sys_user su ON tmu.receive_user_id = su.user_id LEFT JOIN t_message tm ON tmu.message_id = tm.message_id 
WHERE (u.user_id = 101) 
### Cause: java.sql.SQLSyntaxErrorException: Unknown column 'u.user_id' in 'where clause' ; 
bad SQL grammar []; 
nested exception is java.sql.SQLSyntaxErrorException: Unknown column 'u.user_id' in 'where clause'

原因分析:

提示:这里填写问题的分析:

在确保sql语法正确的情况下

    <select id="selectMessageUserList" parameterType="MessageUser" resultMap="MessageUserResult">
        select tmu.message_user_id, tmu.message_id, tmu.receive_user_id, tmu.receive_user_name,
                tmu.receive_nike_name, tmu.readed, tmu.read_time, tmu.create_by, tmu.create_time,
                tmu.update_by, tmu.update_time, tmu.remark, tm.title,tm.content,su.user_name, su.nick_name
        from t_message_user tmu
        left join sys_user su on tmu.receive_user_id=su.user_id
        left join t_message tm on tmu.message_id = tm.message_id
        <where>
            <if test="readed != null "> and readed = #{readed}</if>
            <if test="readTime != null "> and read_time &gt;= #{readTime}</if>
            <!-- 数据范围过滤 -->
            ${params.dataScope}
        </where>
    </select>

其中left join sys_user su on tmu.receive_user_id=su.user_id

这里的 sys_user su 这个别名su
要与userAlias = "su"的su相对应,名不能乱起

    @Override
    @DataScope(deptAlias = "d", userAlias = "su")
    public List<MessageUser> selectMessageUserList(MessageUser messageUser)
    {
        return messageUserMapper.selectMessageUserList(messageUser);
    }

其中datascrop.java

/**
 * 数据权限过滤注解
 * 
 * @author ruoyi
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataScope
{
    /**
     * 部门表的别名
     */
    public String deptAlias() default "";

    /**
     * 用户表的别名
     */
    public String userAlias() default "";

    /**
     * 权限字符(用于多个角色匹配符合要求的权限)默认根据权限注解@ss获取,多个权限用逗号分隔开来
     */
    public String permission() default "";
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
计算机网络是一种将多台计算机连接在一起,以便它们可以共享资源和信息的系统。它允许人们在不同地点之间进行通信和传输数据。计算机网络的基本组成部分包括硬件设备、通信协议和软件应用。 硬件设备是构建计算机网络的重要组成部分,包括服务器、路由器、交换机、网卡等。这些设备通过电缆或无线信号将计算机连接在一起,形成一个网络。服务器是网络中的中央控制节点,用于存储和管理资源,如文件、数据库等。路由器和交换机负责数据的传输和转发,确保将数据发送到正确的目标位置。网卡是计算机的接口,使其能够通过电缆或无线连接到网络。 通信协议是计算机网络中的重要规定与约定,用于在计算机之间进行通信和数据传输。常见的通信协议包括TCP/IP协议、HTTP协议、FTP协议等。它们定义了数据在网络中的传输方式和格式,确保数据能够准确无误地传输。 软件应用是计算机网络的应用程序,用于实现不同的功能和服务。例如,电子邮件、网页浏览器、聊天程序等。这些应用程序通过计算机网络提供各种服务,使人们能够在不同地点之间进行远程办公、学习和娱乐。 总之,计算机网络通过连接多台计算机,使它们能够共享资源和信息,并实现远程通信和数据传输。它在现代社会中起到了重要的作用,为人们提供了便捷的交流和信息交流方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值