mybatis高级_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签

Posted cnsdhzzl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis高级_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签相关的知识,希望对你有一定的参考价值。

 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.cnsdhzzl.dao.StudentDao">

    <!-- 当数据库中的列和实体类不匹配时,方法一使用resultMapper -->
    <resultMap type="student" id="studentMapper">
        <!-- 数据库中的列,实体类的属性 -->
        <result column="dataName" property="entityName" />
    </resultMap>
    <!-- 当数据库中的列和实体类不匹配时,方法二语句中使用as,数据库中的列 as 实体类的属性 -->

    <!-- 返回集合要加resultType -->
    <select id="findStudent" resultType="student">
        select * from student
    </select>

    <!-- sql语句区分数据库,以下使用oracle数据库拼接语句使用|| -->

    <!-- 传入map集合时参数需要使用map的key -->
    <select id="likeStudent" resultType="student">
        <!-- 传入map -->
        select * from student where name like ‘%‘||#{mname}||‘%‘ and address
        like ‘%‘||#{maddress}||‘%‘
        <!-- 传入零散参数 -->
        <!-- select * from student where name like ‘%‘||#{0}||‘%‘ and address like 
            ‘%‘||#{1}||‘%‘ -->
    </select>

    <!-- 智能标签 -->
    <select id="smartTag" resultType="student">
        select * from student
        <if test="name !=null">
            and name like ‘%‘||#{name}||‘%‘
        </if>
        <if test="address !=null">
            and address like ‘%‘||#{address}||‘%‘
        </if>
    </select>
</mapper>

 

以上是关于mybatis高级_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签的主要内容,如果未能解决你的问题,请参考以下文章

tk.mybatis.mapper.MapperException: 当前实体类不包含名为的属性!,500错误

mybatis中的resultMap 的高级映射

@MapKey----mybatis返回Map

@MapKey----mybatis返回Map

02_用户模型设计

异常:数据中的列数与范围内的列数不匹配