二、SQL语句映射文件(2)增删改查、参数、缓存概要

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.2 select

一个select 元素非常简单。例如:

Xml代码

1

2

这条语句就叫做‘getStud ent,有一个String参数,并返回一个StudentEntity类型的对象。注意参数的标识是:#{studentID}。

属性描述取值默认id 在这个模式下唯一的标识符,可被其它语句引用

paramet

erType

传给此语句的参数的完整类名或别名

resultTy pe 语句返回值类型的整类名或别名。注意,如果是集合,那么这里填写的是集合的项的整类名或别名,而不是集合本身的类名。(resultType 与resultMap 不能并用)

resultM ap 引用的外部resultMap 名。结果集映射是MyBatis 中最强大的特性。许多复杂的映射都可以轻松解决。(resultType 与resultMap 不能并用)

flushCa che 如果设为true,则会在每次语句调用的时候就会清空缓

存。select 语句默认设为false

true|false false

useCach e 如果设为true,则语句的结果集将被缓存。select 语句默

认设为false true|false false

timeout 设置驱动器在抛出异常前等待回应的最长时间,

默认为不设值,由驱动器自己决定

true|false false

timeout 设置驱动器在抛出异常前等待回应的最长时间,默认为不

设值,由驱动器自己决定

正整数未设置

fetchSiz e 设置一个值后,驱动器会在结果集数目达到此数值后,激

发返回,默认为不设值,由驱动器自己决定

正整数

驱动器

决定

stateme ntType statement,preparedstatement,callablestatement。

预准备语句、可调用语句

STATEMENT

PREPARED

CALLABLE

PREPA

RED

resultSe tType forward_only,scroll_sensitive,scroll_insensitive

只转发,滚动敏感,不区分大小写的滚动

FORWARD_O

NL Y

SCROLL_SE

NSITIVE

SCROLL_INS

ENSITIVE

驱动器

决定

2.3 insert

一个简单的insert语句:

Xml代码

11

12

13INSERT INTO STUDENT_TBL (STUDENT_ID,

14STUDENT_NAME,

15STUDENT_SEX,

16STUDENT_BIRTHDAY,

17CLASS_ID)

18V ALUES (#{studentID},

19#{studentName},

20#{studentSex},

21#{studentBirthday},

22#{classEntity.classID})

23

insert可以使用数据库支持的自动生成主键策略,设置useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。比如说上面的StudentEntity 使用auto-generated 为id 列生成主键.

还可以使用selectKey元素。下面例子,使用mysql数据库nextval('student')为自定义函数,用来生成一个key。

Xml代码

24

25

26

27select nextval('student')

28

29INSERT INTO STUDENT_TBL (STUDENT_ID,

30STUDENT_NAME,

31STUDENT_SEX,

32STUDENT_BIRTHDAY,

33CLASS_ID) 34V ALUES (#{studentID},

35#{studentName},

36#{studentSex},

37#{studentBirthday},

38#{classEntity.classID}) 39

selectKey语句属性配置细节:

相关文档
最新文档