zoukankan      html  css  js  c++  java
  • mybatis的mapper文件配置

    <?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="com.heima.dao.UserDao">
        <resultMap id="userMap" type="com.heima.pojo.User">
            <!-- 如果pojo属性和数据库字段不一致,可以使用这种方式resultMap=‘userMap’,或者起别名
                如果用这种方式的话可以提高开发效率,但是如果是起别名可以提升执行效率-->
            <!-- 主键字段 -->
            <id property="userId" column="userId"></id>
            <result property="username" column="username"></result>
            <result property="password" column="password"></result>
            <result property="realName" column="realName"></result>
            <result property="sex" column="sex"></result>
            <result property="age" column="age"></result>
        </resultMap>
        
        <!-- 了解一下抽取重复的sql语句-->
        <sql id="defaultUser">
            select * from userinfo
        </sql>
        <!-- 查询所有 -->
        <select id="findAll" resultType="com.heima.pojo.User">
            <include refid="defaultUser"></include>
        </select>
        <!-- 添加 -->
        <insert id="insert" parameterType="com.heima.pojo.User">
            <!-- 获取添加时的id, keyProperty是实体类的属性,
            keyColumn是数据库的字段,order是执行语句前执行还是后执行AFTER为后执行-->
           <selectKey keyProperty="userId" keyColumn="userId" resultType="int" order="AFTER">
                select last_insert_id();
            </selectKey>
            insert into userinfo(username,password,realName,sex,age) value
            (#{username},#{password},#{realName},#{sex},#{age});
        </insert>
        <!-- 修改 -->
        <update id="update" parameterType="com.heima.pojo.User">
            update userinfo set username=#{username},password=#{password},realName=#{realName},
            sex=#{sex},age=#{age} where userId=#{userId};
        </update>
        <!-- 删除 -->
        <delete id="delete" parameterType="Integer">
            delete from userinfo where userId=#{id};
        </delete>
        <!-- 单个查询 -->
        <select id="findOne" parameterType="Integer" resultType="com.heima.pojo.User">
            select * from userinfo where userId=#{id};
        </select>
        <!-- 模糊查询-->
        <select id="findByName" parameterType="String" resultType="com.heima.pojo.User">
             <include refid="defaultUser"></include>
             <where>
                 username like #{username};
             </where>
        </select>
        <!-- 查询总记录数 -->
        <select id="findTotal" resultType="Integer">
            select count(userId) from userinfo;
        </select>
        <!-- 使用实体类包装对象作为查询条件-->
        <select id="queryVo" parameterType="com.heima.pojo.QueryVo" resultType="com.heima.pojo.User">
            <include refid="defaultUser"></include>
            <where>
                username like #{user.username};
            </where>
        </select>
        <!-- 使用if标签判断数据查询 -->
        <select id="findUserByCondition" resultMap="userMap" parameterType="com.heima.pojo.User">
            <include refid="defaultUser"></include>
            <where>
                <if test="username != null">
                    and username=#{username}
                </if>
                <if test="sex != null">
                    and sex=#{sex}
                </if>
            </where>
        </select>
        <!-- 使用foreach标签来查询多个id的数据 -->
        <select id="findUserIds" resultMap="userMap" parameterType="com.heima.pojo.QueryVo">
            <include refid="defaultUser"></include>
            <where>
                <if test="ids != null and ids.size()>0">
                    <foreach collection="ids" open="and userId in(" close=")" item="userId" separator=",">
                        #{userId}
                    </foreach>
                </if>
            </where>
        </select>
    </mapper>

    以上代码,纯属个人理解,若有错误,欢迎指正

  • 相关阅读:
    DirectoryInfo
    TextBox Validation
    ICollectionView
    MEF
    LocBaml
    加快wpf程序 启动速度
    jQuery获取Radio元素的值 深蓝
    如何创建一个规范的zen cart 模板 深蓝
    打通网络营销的任督二脉 深蓝
    jQuery选择没有colspan属性的td 深蓝
  • 原文地址:https://www.cnblogs.com/zhboke/p/14215510.html
Copyright © 2011-2022 走看看