mybatis逆向工程详细配置讲解(全)

时间:2025-04-01 21:19:41
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/"> <mapper namespace=""> <resultMap id="BaseResultMap" type=""> <!--id 标签只能修改主键字段--> <!--result 除了主键以外的字段--> <!-- column 数据库中的字段名称 property 映射对象的属性名称 jdbcType 列中数据库中字段的类型(可以省略不写) --> <!-- resultMap作用: 1.当数据库中字段名称与实体类对象的属性名不一致时,可以进行转换 2.当前查询的结果没有对应一个表的时候,可以自定义一个结果集 --> <!-- 如果数据库中字段名称由多个单词构成,通过MyBatis逆向工程生成的对象属性名称 会按照驼峰命名法规则生成属性名称 其中:数据库中字段名称由多个单词构成的时候必须使用_下划线分隔 --> <id column="id" jdbcType="INTEGER" property="id"/> <result column="name" jdbcType="VARCHAR" property="name"/> <result column="age" jdbcType="INTEGER" property="age"/> </resultMap> <!-- sql语句片段,将公共的部分抽取出来 通过include标签引用sql语句片段 --> <sql id="Base_Column_List"> id, name, age </sql> <select id="selectByPrimaryKey" parameterType="" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from t_student where id = #{id,jdbcType=INTEGER} </select> <delete id="deleteByPrimaryKey" parameterType=""> delete from t_student where id = #{id,jdbcType=INTEGER} </delete> <insert id="insert" parameterType=""> insert into t_student (id, name, age) values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}) </insert> <!-- suffixOverrides 去除多余的逗号 --> <insert id="insertSelective" parameterType=""> insert into t_student <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> id, </if> <if test="name != null"> name, </if> <if test="age != null"> age, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null"> #{id,jdbcType=INTEGER}, </if> <if test="name != null"> #{name,jdbcType=VARCHAR}, </if> <if test="age != null"> #{age,jdbcType=INTEGER}, </if> </trim> </insert> <update id="updateByPrimaryKeySelective" parameterType=""> update t_student <set> <if test="name != null"> name = #{name,jdbcType=VARCHAR}, </if> <if test="age != null"> age = #{age,jdbcType=INTEGER}, </if> </set> where id = #{id,jdbcType=INTEGER} </update> <update id="updateByPrimaryKey" parameterType=""> update t_student set name = #{name,jdbcType=VARCHAR}, age = #{age,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER} </update> </mapper>