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>

后续-----

时间: 2024-10-24 15:33:07

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

MyBatis Mapper.xml文件中 $和#的区别

MyBatis Mapper.xml文件中 $和#的区别 网上有很多,总之,简略的写一下,作为备忘.例子中假设参数名为 paramName,类型为 VARCHAR . 1.优先使用#{paramName,jdbcType=VARCHAR} 写法,除了可以防止sql注入以外,它还能在参数里含有单引号的时候自动转义, 而${paramName}由于是类似于拼接sql的写法,不具备此功能. 2.注意,使用 #{paramName,jdbcType=VARCHAR} 写法的时候,模糊查询的写法为:'%'

Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)

<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil" lazy-init="false"> <property name="locations"> <list> <value>classpath:config/sys.properties</value> &

Android 增,删,改,查 通讯录中的联系人

一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

怎样从C#中打开数据库并进行 增 删 改 查 操作

首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登录数据库 Console.WriteLine("请输入用户名:"); //提示客户输入用户名和密码 string name = Console.ReadLine(); Console.WriteLine("请输入密码:"); string pwd = Console.R

maven父项目pom.xml文件中的报依赖找不到(dependency not found)红线错误

新建了一个maven工程,在父工程中的pom.xml文件中添加<dependencyManagement>用于管理jar.但是发现: 报如图所示红线错误.我查看了自己的本地仓库,发现并没有此jar包,于是以为是无法将jar包下载下来.一顿百度发现也没解决问题. 问了人,才发现<dependencyManagement>只是用于父工程管理依赖的,用于统一管理jar的版本.子工程需要使用相应的jar引入依赖即可,这时才真正的使用到相应jar,才会去下载. 解决办法:将<depen

springboot项目里,让tk-mybatis支持可以手写sql的mapper.xml文件

SpringBoot项目通常配合TKMybatis或MyBatis-Plus来做数据的持久化. 对于单表的增删改查,TKMybatis优雅简洁,无需像传统mybatis那样在mapper.xml文件里定义sql. 我们目前的项目呢,有一些数据分析的需求,涉及到多表关联.嵌套子查询等复杂的sql. 那么,TKMybatis是不是可以支持手写sql呢? 答案是yes! 我们知道,springboot集成tk-mybatis需添加2个依赖: <dependency> <groupId>t

事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚

一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑,按道理说,我们配置了事务,在异常发生是,运行时期的异常被我们的框架捕获到,就会为我们做出回滚的操作,但是就是没有,比如博主写的一个简单的转帐的事务,第一个账户的钱被扣除了,但是在执行完扣钱之后发生了异常但是我们在数据库中却发现,钱仍然被扣了, 博主也试过网上的大多数的方法,都是只说原因,并不能解决

【MyBatis学习05】SqlMapConfig.xml文件中的配置总结

经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置文件中都有哪些可以配置的东西: 配置内容 作用 <properties> 用来加载属性文件 <settings> 用来设置全局参数 <typeAliases> 用来设置类型的别名 <typeHandlers> 用来设置类型处理器 <objectFactor

Web.XML文件中关于代码提示的一些问题

1. 问题描述   在进行ssm的整合时,我发现在web.xml文件中里按了alt+/以后没有下面的提示:这样真的很不爽...于是弄了半天(主要是等着)终于解决了,特此写篇博客记录下. 2. 解决方案   在eclipse中安装Spring IDE的插件,就这么个原因害的lz耽误了半天...(具体怎么装就不说了,自行百度) 3. 注意事项   1. eclipse的版本和插件的版本一定要对应上.  2. 建议在官网上先下载下来,然后在eclipse中选择本地文件安装,要不然会出现一些不知道的问题