随笔分类 - MyBatis
摘要:#{}的用法: 我们发现,在Mapper.xml映射文件中,经常使用#{属性名} 来作为SQL语句的占位符,来映射Sql需要的实际参数 如果只有一个参数 <select id="getUserById" parameterType="int" resultType="User"> select *
阅读全文
摘要:PreparedStatement不允许在插入参数时改变SQL语句的逻辑结构。 为什么它这样处理就能预防SQL注入提高安全性呢?其实是因为SQL语句在程序运行前已经进行了预编译,在程序运行时第一次操作数据库之前,SQL语句已经被数据库分析,编译和优化,对应的执行计划也会缓存下来并允许数据库已参数化的
阅读全文
摘要:Executor分成两大类,一类是CacheExecutor,另一类是普通Executor。 普通类又分为: ExecutorType.SIMPLE: 这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。(默认)ExecutorType.REUSE: 这个执行器类型会复用预处理语
阅读全文
Mybatis异常-java.lang.IllegalArgumentException: invalid comparison:java.util.Date and java.lang.String
摘要:原因:在Mapper.xml中对非字符串类型的数据进行了是否为空判断,如date类型的数据Create_Date != ' ',decimal类型的数据price != ' '都会报这个错误。只有字符串才需要(!= '')非空判断,date类型的数据可以(!=null)判断。 详情:https://
阅读全文
摘要:对于mybatis的参数类型是集合数组的时候进行查询。 第一种:参数list使用mybatis的标签 SELECT * FROM TABLE_NAME AS a <where> <if test="constomerGradeArray!=null and constomerGradeArray.l
阅读全文