• SSM框架中的Mapper.xml文件中的增、删、改、查等操作


     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     3 
     4 <!-- ==================代理方式=================
     5 由mapper标签开始,由/mapper结束,可以把它想成一个空间,是映射文件
     6 属性namespace:空间名,主要在代理中使用。这个namespace是唯一的。
     7 这里把mapper标签和接口联系在一起了,namespace=写接口路径,映射文件要和接口在同一目录下
     8  -->
     9 <mapper namespace="com.dao.UserinfoDAO">
    10     <!-- =============映射关系标签=============
    11     属性type:写po类的包名类名,由于之前定义了po类的别名,这里就写这个别名
    12     属性id:是这个映射标签的唯一标识
    13     id标签是查询结果集中的唯一标识
    14     属性column:查询出来的列名
    15     属性property:是po类里所指定的列名
    16     通常会在原列名后面加下划线,这是固定的,这里就是id后面_
    17      -->
    18     <resultMap type="com.po.UserinfoPO" id="userinfoMap">
    19         <result column="userid" property="userid"/>
    20         <result column="loginname" property="loginname"/>
    21         <result column="loginpass" property="loginpass"/>
    22         <result column="username" property="username"/>
    23         <result column="upower" property="upower"/>
    24         <result column="birthday" property="birthday"/>
    25         <result column="sex" property="sex"/>
    26     </resultMap>
    27     <!-- ==================定义sql片段==============
    28     sql:是sql片段标签属性id是该片段的唯一标识 -->
    29     <sql id="zd">
    30         userid,loginname,loginpass,username,upower,birthday,sex
    31     </sql>
    32     <!-- 增删改查标签里的id:一定要和接口里对应的方法名一致,
    33          resultMap输出类型里写映射标签里的id 
    34          parameterType:输入类型,规范输入数据类型,指明查询时使用的参数类型-->
    35     <!-- 验证登录 -->
    36     <select id="login" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">    
    37         <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 -->
    38         select <include refid="zd"/> from userinfo
    39         <where>            
    40                 loginname=#{loginname} and loginpass=#{loginpass}
    41         </where>
    42     </select>
    43     
    44     <!-- 查询用户列表 -->
    45     <select id="userList" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">
    46         <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 -->
    47         select <include refid="zd"/> from userinfo
    48     </select>
    49     
    50     <!-- 查询修改用户信息的id -->
    51     <select id="updateid" resultMap="userinfoMap" parameterType="com.po.UserinfoPO">
    52         <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 -->
    53         select <include refid="zd"/> from userinfo
    54         <where>userid=#{userid}</where>
    55     </select>
    56     
    57     <!-- 修改用户信息 -->
    58      <update id="update" parameterType="com.po.UserinfoPO">
    59          update userinfo 
    60          set loginname=#{loginname},loginpass=#{loginpass},username=#{username},
    61              upower=#{upower},birthday=#{birthday},sex=#{sex}
    62          where userid=#{userid}     
    63      </update>
    64      
    65     <!-- 添加用户信息 -->
    66     <insert id="insert" parameterType="com.po.UserinfoPO">
    67         insert into userinfo(<include refid="zd"/>) 
    68         values
    69         (#{userid},#{loginname},#{loginpass},#{username},#{upower},#{birthday},#{sex})
    70     </insert>
    71         
    72     <!-- 增删改查标签里的id:一定要和接口里对应的方法名一致 -->
    73     <delete id="delete" parameterType="int">
    74         delete from userinfo where userid=#{userid}
    75     </delete>
    76     
    77     <!-- 根据用户名模糊查询,根据权限查询 -->
    78     <select id="select" resultMap="userinfoMap" parameterType="java.util.Map">
    79         <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 -->
    80         select <include refid="zd"/> from userinfo
    81         <!-- 当页面没有输入用户名和选择权限,就让它的条件永远为真,就变成全查询了 -->
    82         <where>
    83             <if test="username == null and username = '' and upower == -1">
    84                 and 1=1
    85             </if>
    86             <if test="username != null and username !=''">
    87                 and username LIKE '%${username}%' 
    88             </if>        
    89             <if test="upower != -1">
    90                 and upower=#{upower} 
    91             </if>            
    92         </where>
    93     </select>
    94 </mapper>

    后续-----

  • 相关阅读:
    javascript实战演练,制作新按钮,‘新窗口打开网站’,点击打开新窗
    P1332 血色先锋队
    P4643 [国家集训队]阿狸和桃子的游戏
    T149876 公约数
    P1462 通往奥格瑞玛的道路
    P1083 借教室
    Tribles UVA
    Fence Repair POJ
    Crossing Rivers
    关于一轮
  • 原文地址:https://www.cnblogs.com/dqh94/p/7404100.html
Copyright © 2020-2023  润新知