mybatis中sql配置
2017-07-24 00:00
246 查看
对比${value} 和 #{xxx}
两者都可以接受JAVA简单类型,如int,也可以接受POJO,Map等复杂类型。如果是JAVA简单类型,那么$的方式必须是${value},而#{}可以随意,是因为在这种情况下,$会通过反射getValue()的方式取值。如果是POJO等复杂类型,2者其实都可以通过OGNL表达式取到,只不过#会额外的进行JAVA类型到数据库类型的转换,而$没有类型处理过程,它直接拼接。也就是说#会使用预编译成?,而$将在SQL编译阶段就采取替换操作,可能带来SQL注入的问题。所以在实际开发中,我们当然优先采用#的方式取值。
两者都可以接受JAVA简单类型,如int,也可以接受POJO,Map等复杂类型。如果是JAVA简单类型,那么$的方式必须是${value},而#{}可以随意,是因为在这种情况下,$会通过反射getValue()的方式取值。如果是POJO等复杂类型,2者其实都可以通过OGNL表达式取到,只不过#会额外的进行JAVA类型到数据库类型的转换,而$没有类型处理过程,它直接拼接。也就是说#会使用预编译成?,而$将在SQL编译阶段就采取替换操作,可能带来SQL注入的问题。所以在实际开发中,我们当然优先采用#的方式取值。
相关文章推荐
- Spring Boot使用MyBatis 3打印SQL的配置
- MyBatis中实现动态的SQL语句,分页以及mybatis的常用的配置
- Mybatis3.2.1使用例三:Mapper方式集成Spring、配置文件提供SQL
- mybatis显示sql语句 log4j.properties配置文件
- 配置log4j 打印mybatis sql以及执行结果
- log4j配置打印mybatis sql语句
- MyBatis之SQL配置详解
- logback整合mybatis输出sql语句两种配置
- Spring3 整合MyBatis3 配置多数据源 动态选择SqlSessionFactory
- mybatis在xml文件中配置sql
- mybatis配置log4j日志输出sql文及sql参数和结果集
- Spring Boot通过Mybatis,使用mapper接口和xml配置sql,连接数据库
- mybatis配置log4j控制台打印SQL语句
- log4j打印MyBatis的sql语句配置
- 配置Log4j,使得MyBatis打印出SQL语句
- MyBatis中SQLSessionFactory和SqlSession的简介以及配置文件使用(二)
- MyBatis全局配置文件——SqlMapperConfig.xml
- MyBatis 3(中文版) 第四章 使用注解配置SQL映射器
- Mybatis事务详细配置 (SqlSessionDaoSupport方式, 已经经过验证 )
- Mybatis配置及动态SQL语句标签