1、批量修改

<!-- 批量修改 MySQL-->
<update id="updateBatch" parameterType="java.lang.String" >
update tabaccount set STATUSVALUE= #{statusvalue,jdbcType=INTEGER}
where accid in (
<foreach collection="accid" item="accid" separator=",">
#{accid}
</foreach>
)
</update>

<!-- 批量删除Oracle -->
<delete id="deleteBatch" parameterType="java.lang.Short" >
begin
<foreach collection="arrEmp" item="empno" separator=";">
delete from EMPs
where EMPNO = #{empno}
</foreach>
; end;
</delete>

2、分页

<!-- 分页 MySQL  语句最后加limit a,b        a是数据第几条,b是每页显示的多少条数据-->
<select id="page" resultMap="BaseResultMap" parameterType="java.lang.Integer">
SELECT a.accid, a.accname, a.accrealname,a.accpwd, a.accphone, a.accbirthday, a.rolevalue,a.createtime, a.deleteflag,
a.updatetime, a.url, a.statusvalue,r.roleid, r.rolevalue, r.rolename,s.statusid,s.statusvalue, s.statusname,
s.statusmemo FROM tabaccount a INNER JOIN
tabaccrole r ON a.rolevalue=r.rolevalue INNER JOIN tabstatus s ON s.statusvalue=a.statusvalue
where a.deleteflag=1 limit #{page,jdbcType=INTEGER},3
</select>

<!-- 分页Oracle   三层查询利用 伪列ROWNUM  1,3代表显示数据1-3条sql语句如下-->

SELECT rn,accname,accrealname,loginlogid,accid, loginlogtime , loginlogip FROM (
SELECT ROWNUM rn, accname,accrealname,loginlogid,accid, loginlogtime , loginlogip FROM
(SELECT t.accname,t.accrealname,l.loginlogid, l.accid,l.loginlogtime ,
l.loginlogip from TABACCOUNT t INNER JOIN tabloginlog l
ON l.accid=t.accid ORDER BY loginlogtime DESC ))WHERE rn BETWEEN 1 AND 3

3、多表链接

首先,主表account的实体类中,要加入所要连接的表的属性

补充完整set,get方法,重写to String

其次,在accountMapper.xml文件中的BaseResultMap中加入连接表的标签

<!-- 1对1 连接表-->
<association property="role" resultMap="com.unite.test.dao.RoleMapper.BaseResultMap">
</association>
<association property="status" resultMap="com.unite.test.dao.StatusMapper.BaseResultMap">
</association>

最后,写查询所有方法sql语句多表链接

<!-- 查询所有 -->
<select id="sellectAll" resultMap="BaseResultMap" >
SELECT a.accid, a.accname, a.accrealname,a.accpwd, a.accphone, a.accbirthday, a.rolevalue,a.createtime, a.deleteflag,
a.updatetime, a.url, a.statusvalue,r.roleid, r.rolevalue, r.rolename,s.statusid,s.statusvalue, s.statusname,
s.statusmemo FROM tabaccount a INNER JOIN
tabaccrole r ON a.rolevalue=r.rolevalue INNER JOIN tabstatus s ON s.statusvalue=a.statusvalue
where a.deleteflag=1
</select>

4、模糊查询

// 多条件查询 dao层  accountMapper.class文件

// 利用注解绑定参数

List<Account> sellectMore(@Param("accname")String accname,@Param("statusvalue")Integer statusvalue);

<!-- 多条件查询   mapper.xml-->
<!-- <where>标签 自动加上where关键字 也可以自动删掉 and也可以智能忽略掉 -->
<select id="sellectMore" resultMap="BaseResultMap" >
SELECT a.accid, a.accname, a.accrealname,a.accpwd, a.accphone, a.accbirthday, a.rolevalue,a.createtime, a.deleteflag,
a.updatetime, a.statusvalue,a.url, r.roleid, r.rolevalue, r.rolename,s.statusid,s.statusvalue, s.statusname,
s.statusmemo FROM tabaccount a INNER JOIN
tabaccrole r ON a.rolevalue=r.rolevalue INNER JOIN tabstatus s ON s.statusvalue=a.statusvalue
<where>
<if test="accname != null" >
and accname like concat(concat('%',#{accname,jdbcType=VARCHAR}),'%')
</if>
<if test="statusvalue != null" >
and a.statusvalue = #{statusvalue,jdbcType=DECIMAL}
</if>
and a.deleteflag=1
</where>
</select>

5、新增

难点:1、注册用户选出生日期,jsp界面日期是String类型,而数据库是date类型,实体类的日期也是date类型如何转换?

首先,在实体类的操作,加注解

//前台日期string类型,后台自动转date
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date accbirthday;

其次、配置文件操作在springMVC-servlet.xml中加入

<!-- 前台日期string类型,后台自动转date -->
<mvc:annotation-driven></mvc:annotation-driven>

在beans中

难点:2、MySQL数据库如何获取时间戳

设计表的默认值

SSM框架中mapper层,增删改查,如何实现的更多相关文章

  1. IDEA+Maven 整合SSM框架实现简单的增删改查(新手入门,傻瓜操作)

    原博客地址:https://blog.csdn.net/khxu666/article/details/79851070 选用SSM框架的原因在目前的企业级Java应用中,Spring框架是必须的.S ...

  2. Maven+SSM框架实现简单的增删改查

    Spring介绍: spring 使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情.然而, Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Ja ...

  3. idea使用maven搭建ssm框架实现登陆商品增删改查

    创建项目->maven->webapp->输入坐标->完成. pom.xml <project xmlns="http://maven.apache.org/P ...

  4. golang学习之beego框架配合easyui实现增删改查及图片上传

    golang学习之beego框架配合easyui实现增删改查及图片上传 demo目录: upload文件夹主要放置上传的头像文件,main是主文件,所有效果如下: 主页面: 具体代码: <!DO ...

  5. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

  6. 深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  7. SSM框架之MyBatis框架实现简单的增删改查

    MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...

  8. SSM框架中各层作用

    SSM是sping+springMVC+mybatis集成的框架. MVC即model view controller. model层=entity层.存放我们的实体类,与数据库中的属性值基本保持一致 ...

  9. 基于SSM之Mybatis接口实现增删改查(CRUD)功能

    国庆已过,要安心的学习了. SSM框架以前做过基本的了解,相比于ssh它更为优秀. 现基于JAVA应用程序用Mybatis接口简单的实现CRUD功能: 基本结构: (PS:其实这个就是用的Mapper ...

随机推荐

  1. Django(64)频率认证源码分析与自定义频率认证

    前言 有时候我们发送手机验证码,会发现1分钟只能发送1次,这是做了频率限制,限制的时间次数,都由开发者自己决定 频率认证源码分析 def check_throttles(self, request): ...

  2. 在centos上安装docker

    安装docker 卸载旧版本 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docke ...

  3. [翻译]Go与C#的比较,第二篇:垃圾回收

    Go vs C#, part 2: Garbage Collection | by Alex Yakunin | ServiceTitan - Titan Tech | Medium 目录 译者注 什 ...

  4. 一文带你.Net混合锁和lock语句

    本文主要讲解.Net基于Monitor.Enter和lock实现互斥锁 Monitor.Enter实现 相比前面的锁来说,混合锁的性能更高,任何引用类型的对象都可以做为锁对象,不需要事先创建指定类型的 ...

  5. 20201123 实验三《python程序设计》实验报告

    20201123 2020-2021-2 <python程序设计>实验三报告 课程:<Python程序设计>班级:2011姓名:晏鹏捷学号:20201123实验教师:王志强实验 ...

  6. Terraform状态State管理,让变更有记录

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 简介 最近工作中用到了Terraform,权当学习记录一下,希望能帮助到其它人. Terraform系列文章如下: Ter ...

  7. 二叉搜索树(Binary Search Tree)(Java实现)

    @ 目录 1.二叉搜索树 1.1. 基本概念 1.2.树的节点(BinaryNode) 1.3.构造器和成员变量 1.3.公共方法(public method) 1.4.比较函数 1.5.contai ...

  8. Linux基础 -01

    01Linux快速入门 1.计算机组成原理 1.1什么是计算机 计算机一般被称为"电脑",即通电的大脑 电脑二字蕴含了人类对计算机的终极期望; 希望它能像人脑一样为我们工作,从而取 ...

  9. linux安装subversion

    原文: https://www.cnblogs.com/liuxianan/p/linux_install_svn_server.html 安装 使用yum安装非常简单: yum install su ...

  10. Python字符串格式方式 %s format()

    p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Helvetica ...