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>

后续-----

转载于:https://www.cnblogs.com/dqh94/p/7404100.html

SSM框架中的Mapper.xml文件中的增、删、改、查等操作相关推荐

  1. mybatis框架中的mapper.xml文件中的头部代码

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-/ ...

  2. (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql

    http://blog.csdn.net/yerenyuan_pku/article/details/71893689 前面对MyBatis框架的学习中,我们对Mapper.xml映射文件多少有些了解 ...

  3. MyBatis中的Mapper.xml文件解析

    具体可以参见MyBatis中文开发文档:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html 我所述的主要有常用的几个标签和属性 一.parameterTy ...

  4. 【项目经验】如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置

    如果想在mapper.xml文件中的一个标签中写多条sql语句,则需要在jdbc的配置文件中稍做配置: url=jdbc:mysql://127.0.0.1:3306/airipo?useUnicod ...

  5. IDEA去除mapper.xml文件中的sql语句的背景色

    2019独角兽企业重金招聘Python工程师标准>>> IDEA版本 2017.3 mapper.xml文件中的sql语句,总是黄色一大片,看起来不舒服. 按如下设置进行设置即可 此 ...

  6. 【sql的mapper.xml文件】完美去除idea中mapper.xml文件中的黄色绿色背景色

    文章目录 完美去除idea中mapper.xml文件中的背景色 换主题颜色 1.settings->Editor->Inspection 2.Editor->Color Scheme ...

  7. 解决大/小于号在mapper.xml文件中的语法错误

    mapper.xml文件因为文件本身的属性,如果出现尖括号会出现语义歧义,所以在进行一些大小写比较操作时,会引起操作文件 Tag name expected 错误.解决办法也很简单,xml文件脱胎于h ...

  8. mybatis的mapper.xml文件中含有中文注释时运行出错,mybatis配置优化和别名优化 mybatis配置之映射器说明

    记录一个发现的小问题,刚刚在UserMapper.xml文件中有一段中文注释掉的内容: <!-- <resultMap id="Usermap" type=" ...

  9. SSM框架整合时applicationContext.xml文件的配置及详细解析

    以下代码省略dao,service,action类的具体创建,主要是文件的相关配置 db.properties文件 driver=oracle.jdbc.OracleDriver url=jdbc:o ...

  10. 【Mybatis】 mapper XML 文件中使用 association 实现一对一关联

    前言 Mybatis 一对一,使用 association 标签 Mybatis 一对多,使用 collection 标签 本文主要说明 association 标签. collection 标签与之 ...

最新文章

  1. 让图片动起来,特朗普和蒙娜丽莎深情合唱《Unravel》
  2. LeetCode(1)Two Sum
  3. 第十二天:规划成本管理,成本类型, 资产折旧;和 估算成本,估算成本知识点提示
  4. vue数据定义格式_用好单元格自定义格式,让Excel按照你的要求显示数据
  5. Linux内存管理:为什么 Linux 需要虚拟内存?为什么 Linux 默认页大小是 4KB?
  6. shell判端mysql数据库是否存在_Shell脚本检测和检查mysql数据库是否存在坏表
  7. 华为matebook和linux版本区别,华为MateBook14Linux版本开箱评测 | 从来没有让我们失望!...
  8. Python处理多种编码报错的处理
  9. FreeRTOS学习记录(安富莱FreeRTOS教程摘录)
  10. centos6使用df命令,设备名称太长导致换行问题
  11. RAM和ROM存储空间的混合
  12. 音频编码-G.711
  13. 地表最强超融合 | 揭开VxRail“隐秘的角落”
  14. SECCON-CTF-2014-Decrypt-It-easy
  15. 如春日细雨般的缠绵,浸润心扉
  16. 关于同一个网络A电脑可以ping通B电脑,而B电脑却ping不通A电脑,但A可以远程连接上B解决方法
  17. Flutter成都开发者线下交流会实录
  18. WNMP(windows+nginx+mysql+php)环境搭建
  19. [Python3 练习] 010 找出藏在字符串中的“密码”
  20. 几种常见的数据分析图

热门文章

  1. 昨天跟朋友聊天谈技术工作,竟然吹了4个小时
  2. 压缩软件能否加上忽略某些目录的功能
  3. 大群就是公共场所,不要有事就在大群说
  4. 以前做过一个光标代码的梦,貌似也是个预言梦
  5. 全网首发:warning: #warning “Using deprecated NumPy API, disable it by “ “#defining NPY_NO_DEPRECATED_API
  6. LINUX使用C调用LMDB的方法
  7. 管理感悟:承认错误,善于总结
  8. linux git 免密、设置用户用密码
  9. arraylist输出 java_在java中打印ArrayList时输出不同
  10. 查询数据总数_Web | Django 与数据库交互,你需要知道的 9 个技巧