SQL映射文件是什么?
SQL映射xml文件是所有sql语句放置的地方,不同于JDBC连接的方法,需要构造方法,写statement和resultset语句才可以调用指定的sql语句,只需要把所有的sql语句写在配置文件中,根据不同的id,可以在类中直接调用这些语句。 文件需要定义一个workspace,一般定义为对应的接口类的路径。 Note:写好的SQL映射文件,需要在Mybatis主配置文件标签mapper中引用。
SQL映射文件中的几个顶级元素介绍:
- mapper:SQL映射文件的根元素。只有一个属性namespace,用于区分不同的mapper,必须全局唯一。
- cache:为给定命名空间配置缓存。
- cache-ref:引用其他命名空间中的缓存配置。
- resultMap:用来描述查询结果集中的字段和Java实体类属性的对应关系。
- sql:定义可重用的SQL语句块,可以在其他语句映射中引用,提高编写和维护SQL语句的效率。
- insert:映射insert语句。
- update:映射update语句。
- delete:映射delete语句。
- select:映射select语句。
需要注意:
Mybatis框架支持面向接口的SQL映射编程,这种情况下,SQL映射文件的开发需要注意以下规则:
- 习惯上,SQL映射文件与该Mapper接口同名(实体类名+Mapper),并放置在同一包路径下。
- 以要映射的Mapper接口的完全限定名(即包含包名的完整名称)作为namespace属性的值。
- 接口中的方法名与映射文件中SQL语句映射的 ID — —对应。MyBatis框架通过namespace+ID确定和接口方法绑定的SQL语句。
- 在不同的SQL映射文件中,子元素的ID可以相同。
别名 | 映射的类型 | 别名 | 映射的类型 |
boolean | Boolean | string | String |
byte | Byte | bigdecimal或decimal |
BigDecimal |
long | Long | date | Date |
short | Short | map | Map |
int或integer | Integer | hashmap | HashMap |