MyBatis Mapper 文件书写自定义查询标签

在我们开发的过程中使用generator逆向工程生成我们所连接数据库的表格对应的entity、criteria、mapper接口以及mapper.xml可以省去很多不必要的操作,也避免了可能出现的书写错误,

现在我分析一下mapper中的一些标签都代表什么



声明文件的版本和编码格式

标签是指Document Type Definetion文档规则定义标签,PUBLIC定义这个dtd在版本库里的唯一key,根据key寻找对应mapper.dtd,在eclipse等工具里都可以自己制定dtd位置,但是key不能变

 标签是mapper文件的框架标签,所有的子标签均是写到mapper标签中进行书写,namaspace 属性值为mapper接口或者dao接口的包名路径xx.xxx.xxx.mapper.java

标签在mapper配置文件中可以存在多个,用来对应sql查询到的表字段与实体类的属性字段,表示返回值不唯一,该标签的属性字段id是唯一的在该配置文件中,type为每条记录对应的实体类的包名路径,resultMap标签内部需要对表字段和实体类进行对应,这是一种方式,

    
    
    

  

还有一种方式是直接select 的时候进行对应,如select CREATE_TIME as createTime from xxx 这时候就不需要内部写这么多result标签了,仅需要写resultMap标签定义id属性,type属性指定要接收数据的实体类(可以为自定义model) 


  
  

 标签中的内容一般作为sql直接拼接在sql中,所以要符合sql语法

 现在我们也会有一些需求,我们需要查的数据没自动生成的Base_Column_List那么多,只需要其中一部分,那就可以自定义写一个sql标签包含所需要的字段名

 

你可能感兴趣的:(mysql5.7)