注册 登录
编程论坛 JAVA论坛

前端传来的排序依据 与 数据库中的字段名不同

悟空丨 发布于 2019-01-08 17:52, 3272 次点击
前台 排序传来的 依据 sort: menuId
 在数据库中字段名为“menu_id”
 报错:Unknown column 'menuId' in 'order clause'

<id column="menu_id" jdbcType="BIGINT" property="menuId" />

这个用什么方法解决
 
4 回复
#2
林月儿2019-01-08 19:26
去java实体类看看这个字段的拼写
#3
悟空丨2019-01-08 19:33
回复 2楼 林月儿
在实体类中声明的 private String menuID;

前端传来的是变量的名字
columns: [
            {
                field: 'menuId',
                title: '序号',


现在是在Dao里面写了一个判断,
程序代码:
<choose>
            <when test="sort != null and sort != ''">
                <choose>
                    <when test="sort == 'menuId'">
                        order by menu_id ${order}
                    </when>
                    <when test="sort == 'orderNum'">
                        order by order_num ${order}
                    </when>
                    <otherwise>
                        order by ${sort} ${order}
                    </otherwise>
                </choose>
            </when>
        </choose>

   ,但是感觉这方案不太合适

[此贴子已经被作者于2019-1-8 19:38编辑过]

#4
林月儿2019-01-08 20:46
改脚本或者实体类,拼写要一致
#5
悟空丨2019-02-27 11:08
最终解决方案是 利用 驼峰和下划线互转的一个工具类。并且判断排序依据和排序方式是否在预期范围内
1