Transient变量首字母大写,前端页面不识别

今天遇到了一个问题,害我排查了半天错误,更加意识到编码规范的严重性。

我要从数据库中多表查询,将数据展示在前端页面,首先是sql语句:

  <select id="queryByCondition" parameterType="map" resultType="com.wit.bm.entity.ClassDetail">
        select
        e.project_name as ProjectName,
        c.content as Content,
        b.evaluation ,
        b.standard ,
        b.mainPoints,
        d.deviceName as DeviceName ,
        d.type as Type,
        a.evaluatorCode as Phone,
        a.analyzation as Score
        FROM  evaluation_scheme a
        LEFT JOIN kg_class_detail b on a.detail_code = b.evaluationCode
        LEFT JOIN kg_class_assess c on c.code = b.assessCode
        LEFT JOIN equipmentbasis d on d.code = b.level
        LEFT JOIN project_management e on e.project_no = a.projectNo
    </select>

然后在实体类中声明Transient临时变量:

@Data
@Table(name = "kg_class_detail")
public class ClassDetail extends BaseUuidModel {
	private static final long serialVersionUID = 1L;
	@Column
	private String evaluation;//测评项
	@Column("standard")
	private String standard;  //标准 //测评方法及步骤
	@Column("mainPoints")
	private String mainPoints;  //评估要点 //预期结果
	@Column("assessCode")
	private String assessCode;  //考核规则编号

	@Transient
	private String ProjectName;
	@Transient
	private String Content;
	@Transient
	private String DeviceName;
	@Transient
	private String Type;
	@Transient
	private String Phone;
	@Transient
	private String Score;
}

前端填充表格的Jqery:

"columns": [
                {
                    "data": null, "render": function (data, type, row, mete) {
                        tablerows[row.id] = row;
                        return '<input type="checkbox" name="tablecheckbox" value="' + row.id + '"/>';
                    }, orderable: false, className: "oemp-checkbox"
                },
                // TODO 添加列表数据对应字段
                {"data": "ProjectName"},
                {"data": "Content"},
                {"data": "evaluation"},         //
                {"data": "standard"},           //
                {"data": "mainPoints"},         //
                {"data": "DeviceName"},
                {"data": "Type"},
                {"data": "Phone"},
                {"data": "Score"},
            ],

结果发现,前端只取到了首字母小写的三个对象字段,我开始郁闷,sql语句单独运行没问题、打断点list集合也有值、字段也匹配到底错在哪?尝试着把js中ProjectName变量首字母改小写,发现页面竟然取到值了。。难道大写的被js自动转成小写的了吗?

这个问题暂留以后有时间深入考虑把。。

其实正常来说实体类中的临时变量按java规范来命名是不会有这个问题的,java声明变量首字母小写,前端使用时就不存在问题了;注意sql语句字段别名命名也尽量首字母小写,与之对应;

---------------------------------------------------------------------------------------------------------

忽略的命名规范:

java变量的命名规则 是首字母小写,随后的单词首字母大写(驼峰写法);

类名则是一开始就按 驼峰写法来;

包名项目名全小写;

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lazyafei

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值