Java Web编程技术 课件 第16章注解配置映射器 .pptx

Java Web编程技术 课件 第16章注解配置映射器 .pptx

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

JavaWeb编程技术本章介绍常用的映射器注解,其中包括@Insert、@Update、@Delete、@Select、@ResultMap以及@SelectProvider、@InsertProvider、@UpdatetProvider、@DeleteProvider等提供器注解等。MyBatis映射器注解MyBatis常用映射器注解的使用SQL语句构建器的使用第16章注解配置映射器在MyBatis映射文件中不但可以构建固定的SQL语句,还可使用动态SQL语句,它通过一些子元素实现。还可以在MyBatis映射器接口中使用注解定义SQL语句,从而不需要映射文件。

在Mapper接口上使用注解从MyBatis3开始增加了Java注解配置映射SQL语句,也就是在Mapper接口中为操作方法添加注解来实现语句映射,从而不需要在映射文件中配置SQL语句。提示:在Mapper接口中使用注解具有一定的局限,其表达能力及灵活性较差,有些复杂的映射不能用注解实现,还必须用映射文件定义。MyBatis注解定义在org.apache.ibatis.annotations包中,常用的注解如表16-1所示。16.1

在Mapper接口上使用注解16.1注解说明@Insert@Delete@Update@Select映射SQL的INSERT、DELETE、UPDATE和SELECT语句,它们带一个value属性,用于指定一个字符串或数组,表示需要执行的SQL语句@Results@Result@Results注解指定查询结果映射,主要完成映射文件的resultMap的功能。@Result注解用于指定单个的属性和字段的映射,它的属性包括id、column、property、javaType、jdbcType、one和many等@Options提供配置选项的附加值,它们通常在映射语句上作为附加功能配置出现@SelectKey使用@SelectKey注解来为任意SQL语句来指定主键值,作为主键列的值@One@Many@One指定单属性值映射。必须指定select属性,表示已映射的SQL语句的完全限定名。@Many指定集合属性值映射。必须指定select属性,表示已映射的SQL语句的完全限定名

在Mapper接口上使用注解16.1@Param当映射器方法有多个参数时,可使用该注解为映射器方法的每个参数取一个名字。否则,多个参数将以它们的位置顺序命名,如#{param1}、{param2}等。使用@Param(“person”),参数被命名为#{person}@InsertProvider@DeleteProvider@UpdateProvider@SelectProvider这些注解用于创建动态SQL。使用这些注解需要指定一个类名和一个返回SQL对象的方法。运行时,MyBatis将实例化类,然后执行方法指定的SQL语句@ConstructorArgs@Arg收集一组结果传递给结果对象的构造方法。属性value的值是Arg注解数组。Arg注解指定构造方法的一个参数

@Insert插入语句16.1.1使用@Insert注解定义一个INSERT语句映射:packagecom.boda.mapper;publicinterfaceStudentMapper{@Insert(INSERTINTOstudents(stud_id,name,gender,birthday,phone)VALUES(#{studId},#{name},#{gender},#{birthday},#{phone}))intinsertStudent(Studentstudent);}

@Insert插入语句16.1.1主键列值可以自动生成。可以使用@Options注解的userGeneratedKeys和keyProperty属性让数据库产生auto_increment(自增长)列的值,然后将生成的值设置到输入参数对象的属性中。@Insert(INSERTINTOstudents(name,gender,birthday,phone)VALUES(#{name},#{gender},#{birthday},#{phone}))@Options(useGeneratedKeys=true,keyProperty=studId)intinsertStudent(Studentstudent);

@Insert插入语句16.1.1注意,使用注解的Mapper映射器接口不需要使用映射文件,但也需要在配置文件中使用mappers元素注册映射器类,如下所示。mappersmapperclass=com.boda.mapper.S

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档