Java中SQLServer中文字段如何处理和查询?

我们平常库表字段一般都是英文的,标准也是这样,如果碰到中文的应该如何处理呢?库表如下
在这里插入图片描述

先把实体类改成属性字段改成英文

	@ApiModelProperty(value = "付款方名称")
    @TableField("付款方名称")
    private String payName;

    @ApiModelProperty(value = "付款条件")
    @TableField("付款条件")
    private String paymentClause;
	
	//其他太长不贴了哈

自写SQL语句,对中文字段取别名,as 成实体类属性(付款方名称 as payName)

where跟的属性还是数据库的字段名

	<select id="selectKeyAccountByCompanyCodeAndPayCode" parameterType="string" resultType="FinCommercialOnestopshop001Keyaccount">
        select ID as id, [Index] as newIndex, 付款方代码 as payCode, 付款方名称 as payName, KAorEC as kaOrEc,
               [BU(By Management)] as bu, CompanyCode as companyCode,
               Company as company, 付款条件 as payClause, 城市 as city,
               KACustomerGroup as kaCustomerGroup, 销售经理 as salesManager,
               销售负责人 as directoSales, POA账龄 as poaBookAge
        from Fin_Commercial_OneStopShop_001_KeyAccount
        where
            CompanyCode = #{companyCode}
        and 付款方代码 = #{payCode};
    </select>

Mapper方法

	FinCommercialOnestopshop001Keyaccount selectKeyAccountByCompanyCodeAndPayCode(@Param("companyCode") String companyCode, @Param("payCode") String payCode);

问题:为什么where后面不能跟别名

sqlserver查询执行顺序是如下

  1. FROM JOIN ON
  2. WHERE ♥
  3. GROUP BY
  4. HAVING
  5. SELECT DISTINCT TOP() ♥
  6. ORDER BY

可以看到,在where执行的时候,还未执行select,别名也就还没生效,而order
by的时候select已经执行,所以已经存在
最后,还是建议用英文配合驼峰命名哈~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

千鹤万象

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值