Spring Boot学习笔记 04

xxxMapper.xml内容分析

Mybatis逆向生成的文件只有单表操作。

文件头(UTF-8)编码:

1
<?xml version="1.0" encoding="UTF-8"?>

生成的xxxMapper.xml内容:

1
2
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.springboot.springboot012mybatis.mapper.StudentMapper">

resultMap作用:

  1. 当数据库中字段名称与实体类对象的属性名不一样时,可以进行转换
  2. 当查询的结果没有对应一个表的时候,可以自定义一个结果集

其中:

  • id 标签只能修改主键字段
  • result 除了主键以外的字段
  • column 数据库中的字段名称
  • property 映射对象的属性名称
  • jdbcType 列中数据库中字段的类型(可以忽略不写)

如果数据库中字段名称由多个单词构成,通过Mybatis逆向工程生成的对象属性名称
会按照驼峰命名法规则生成属性名称。
其中:数据库中字段名称由多个单词构成时候必须使用下划线_分隔

1
2
3
4
5
6
<resultMap id="BaseResultMap" type="com.springboot.springboot012mybatis.model.Student">
<id column="id" jdbcType="INTEGER" property="id"/>
<id column="name" jdbcType="VARCHAR" property="name"/>
<id column="age" jdbcType="INTEGER" property="age"/>
</resultMap>

sql语句片段,将公共的部分抽取出来,可以通过include标签引用的sql语句片段:

1
2
3
<sql id="Base_Column_List">
id,name,age
</sql>