mybatis查询成果List<Map<String,Object>>应对动态改动字段类型导致转化成果乱码的问题ITeye - 凯发娱乐

mybatis查询成果List<Map<String,Object>>应对动态改动字段类型导致转化成果乱码的问题ITeye

2019-01-12 00:58:20 | 作者: 景彰 | 标签: 类型,问题,字段 | 浏览: 2750

问题场景:

查询句子是select * from 某视图...(补白,此处咱们为什么不select详细字段,由于咱们是为了动态查询字段,便利施行依据不同客户需求添加、修正字段类型和值、删去字段等场景)。

视图中有特点field1,类型是varchar

成果

field1="字符串类型"

改变field1为number类型

成果

field1="◆~··◆"

乱码。

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

处理方案: 在select 标签上加上 statementType="STATEMENT",且在select 句子中不能呈现#{...}占位符,如需完成动态SQL作用,能够运用${...}变量,它在运转期会转换为详细的变量值。 默许statementType是PREPARED,由于PREPARED是默许编译一次,所以你的类型也就固定了,STATEMENT则是每次都编译,别的STATEMENT不支持动态SQL,所以不能呈现#{...}占位符。 其实这个问题主要是JDBC对SQL预编译常识的了解,其实跟MYBATIS关系不大。所以一般人遇到这个问题,或许首要想到的是怎么从MYBATIS来处理,所以相对来说这个问题尽管不难,但较不常见,由于这个需求场景也的确比较反常。
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表凯发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章