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

<?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标签开始,由/mapper结束,可以把它想成一个空间,是映射文件 属性namespace:空间名,主要在代理中使用。这个namespace是唯一的。 这里把mapper标签和接口联系在一起了,namespace=写接口路径,映射文件要和接口在同一目录下 \--> <mapper namespace="com.dao.UserinfoDAO"> <!-- =============映射关系标签============= 属性type:写po类的包名类名,由于之前定义了po类的别名,这里就写这个别名 属性id:是这个映射标签的唯一标识 id标签是查询结果集中的唯一标识 属性column:查询出来的列名 属性property:是po类里所指定的列名 通常会在原列名后面加下划线,这是固定的,这里就是id后面\_ \--> <resultMap type="com.po.UserinfoPO" id="userinfoMap"> <result column="userid" property="userid"/> <result column="loginname" property="loginname"/> <result column="loginpass" property="loginpass"/> <result column="username" property="username"/> <result column="upower" property="upower"/> <result column="birthday" property="birthday"/> <result column="sex" property="sex"/> </resultMap> <!-- ==================定义sql片段============== sql:是sql片段标签属性id是该片段的唯一标识 --> <sql id="zd"> userid,loginname,loginpass,username,upower,birthday,sex </sql> <!-- 增删改查标签里的id:一定要和接口里对应的方法名一致, resultMap输出类型里写映射标签里的id parameterType:输入类型,规范输入数据类型,指明查询时使用的参数类型--> <!-- 验证登录 --> <select id="login" resultMap="userinfoMap" parameterType="com.po.UserinfoPO"> <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 --> select <include refid="zd"/> from userinfo <where> loginname=#{loginname} and loginpass=#{loginpass} </where> </select> <!-- 查询用户列表 --> <select id="userList" resultMap="userinfoMap" parameterType="com.po.UserinfoPO"> <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 --> select <include refid="zd"/> from userinfo </select> <!-- 查询修改用户信息的id --> <select id="updateid" resultMap="userinfoMap" parameterType="com.po.UserinfoPO"> <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 --> select <include refid="zd"/> from userinfo <where>userid=#{userid}</where> </select> <!-- 修改用户信息 --> <update id="update" parameterType="com.po.UserinfoPO"> update userinfo set loginname=#{loginname},loginpass=#{loginpass},username=#{username}, upower=#{upower},birthday=#{birthday},sex=#{sex} where userid=#{userid} </update> <!-- 添加用户信息 --> <insert id="insert" parameterType="com.po.UserinfoPO"> insert into userinfo(<include refid="zd"/>) values (#{userid},#{loginname},#{loginpass},#{username},#{upower},#{birthday},#{sex}) </insert> <!-- 增删改查标签里的id:一定要和接口里对应的方法名一致 --> <delete id="delete" parameterType="int"> delete from userinfo where userid=#{userid} </delete> <!-- 根据用户名模糊查询,根据权限查询 --> <select id="select" resultMap="userinfoMap" parameterType="java.util.Map"> <!-- 用include标签引入sql片段,refid写定义sql片段的id,where标签不要写在片段里 --> select <include refid="zd"/> from userinfo <!-- 当页面没有输入用户名和选择权限,就让它的条件永远为真,就变成全查询了 --> <where> <if test="username == null and username = '' and upower == -1"> and 1=1 </if> <if test="username != null and username !=''"> and username LIKE '%${username}%' </if> <if test="upower != -1"> and upower=#{upower} </if> </where> </select> </mapper>
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )