05|第五课:两种取值符号以及ParameterType详解

一、历史回顾

(一)、历史回顾


二、ParameterType详解

(一)、ParameterType详解

1、输入参数:ParameterType

(1)、类型为简单类型(8个基本类型+String):#{任意标识符}

a、#{...}、${value}两者的区别:

*1、如果将#{任意标识符}换成${value}也可以。${value}这里必须是value

*2、#{...}自动给String类型加上 ' ' 

       ${...}原样输出,它适合动态排序(动态字段)

例:

xxxMapper.xml配置:

配置

xxxMapper.java接口:

接口方法

测试类:

测试代码

例:(动态排序)

动态传值排序

*3、#{...}可以防止SQL注入

       ${...}不可以防止

b、#{...} 和 ${...} 相同点:

*1、都可以获取对象的值(嵌套类型对象)。

这里的测试类和接口图就不截了。

模糊查询

下面将嵌套对象类型:

例:

实体类:

实体类1
实体类2

xxxMapper接口:

接口

xxxMapper.xml配置:

配置文件
这里也可以用person对象级联表示出来(自己写例子测)

测试类:

测试类

(2)、对象类型:#{属性名}  ${属性名}。上面的例子已经说明了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,076评论 0 4
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,791评论 1 32
  • 1 Mybatis入门 1.1 单独使用jdbc编程问题总结 1.1.1 jdbc程序 上边使...
    哇哈哈E阅读 8,557评论 0 38
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,864评论 1 14
  • ahappycloud阅读 838评论 0 0