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. Ckeditor 缺少图像源文件地址的解决 笨笨的人都看啦!

    Ckeditor 本文是关于CKEditor 无法上传图片问题的一个解决.我大致写了一下遇到问题的过程,问题的出处,怎么解决的,原因是什么. 希望能够帮到有需要的大家,有些时候找不到问题的答案,真的是 ...

  2. 【NX二次开发】Block UI 微定位

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  3. 在H5页面播放m3u8音频文件

    需要使用hls插件 首先安装依赖npm install hls.js --save <audio ref="audio"></audio> import H ...

  4. RobotFramework + Python 自动化入门 二 (关键字)

    在<RobotFramwork + Python 自动化入门 一>中,完成了Robot环境搭建及测试脚本的创建和执行. 本节,对RobotFramework的关键字使用和查看源码进行介绍. ...

  5. Excel对单元格设置上涨、下降箭头

    1.有以下学生成绩表,对期末考试设置上涨.下降箭头,体现考生成绩变动: 2.选中C2,"条件格式"-"管理规则"-"新建规则"-" ...

  6. 『无为则无心』Python序列 — 21、Python字典及其常用操作

    目录 1.字典的应用场景 2.字典的概念 3.创建字典的语法 4.字典常见操作 (1)字典的增加操作 (2)字典的删除操作 (3)字典的修改 (4)字典的查找 (5)copy()复制 1.字典的应用场 ...

  7. 16 自动发布PHP项目

    #!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin PHP_NAME=$1 DATE ...

  8. 42、mysql数据库(函数)

    1.mysql中提供的内置函数: (1)数学函数: 1)ROUND(x,y): 返回参数x的四舍五入的有y位小数的值.x不可转换时返回0,x为null时返回null. 2)RAND(): 返回0到1内 ...

  9. csu-acm 1503: 点到圆弧的距离

    1503: 点到圆弧的距离 分析: 先判断点和圆心的连线是否在圆弧范围内,如果在,最短距离即到圆心的距离减去半径的绝对值:反之,为到端点的最短距离. 具体看注释 #include <bits/s ...

  10. 8、SpringBoot整合之SpringBoot整合MongoDB

    SpringBoot整合MongoDB 一.创建项目,选择依赖 仅选择Spring Web.Spring Data MongoDB即可 二.引入相关依赖(非必要) 这里只是为了实体类的创建方便而引入l ...