【Mybatis面试题】

http://blog.****.net/eaphyy/article/details/71190441

《深入理解MyBatis》

http://blog.****.net/luanlouis/article/details/40422941

mybatis的大于小于号转义符号一览

符号 转义前 转义后
小于号 < &lt;
大于号 > &gt;
小于等于号 <= &lt;=
大于等于号 >= &gt;=
& &amp;
单引号 &apos;
双引号 " &quot;

#{}和${}的区别是什么?

Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;
Mybatis在处理 时,就是把 {}时,就是把 时,就是把{}替换成变量的值,比如需要对某一列进行排序时,就使用该机制;
使用#{}可以有效的防止SQL注入,提高系统安全性。在实际的处理情况下用户输入的数据使用#{},程序员自己输入的数据使用${}。

当实体层属性是MySQL的关键字,如何处理?

    @ApiModelProperty(value = "系统比例(%)")
    @TableField(value = "`system`")
    private Double system;

当实体层属性的名字和数据库字段不一致,如何处理?

	@ApiModelProperty(value = "历史数量")
	@TableField(value = "history_count")
	private Integer totalTrades;
上一篇:Python面试题:请解释什么是鸭子类型(duck typing)?