mybatis的dao的注解
import com.jianwu.domain.metting.model.CallPreMember;
import com.jianwu.domain.metting.model.CallPreMemberStatus;
import org.apache.ibatis.annotations.*; import java.util.List; public interface MeetingMemberDao {
/**
* 增加预订成员列表
* @param callPreMember
*/
@SelectKey(statement = "SELECT MEMBER_SEQ.NEXTVAL FROM DUAL",keyProperty = "memberId",before = true, resultType = Long.class)
@Insert("INSERT INTO TAB_CALL_MT_PRE_MEMBER (MEMBER_ID, PRE_ID, MEMBER_TYPE, MEMBER_PHONE,MEMBER_SEX,MEMBER_STATUS,MEMBER_INFO,RELATED_ID,EMPLOYEE_ID,EMPLOYEE_NO,ROOM_ID,IS_HOST,EMPLOYEE_NAME,MEMBER_CALL_STATUS,IS_CALL_AGAIN,MEETING_SERIAL)"+
" VALUES "+
" (#{memberId},#{preId}, #{memberType},#{memberPhone},#{memberSex}, #{memberStatus},#{memberInfo},#{relatedId},#{employeeId},#{employeeNo},#{roomId},#{isHost},#{employeeName},#{memberCallStatus},#{isCallAgain},#{meetingSerial})")
int insertMember(CallPreMember callPreMember); /**
* 删除成员
* @param preId 根据会议ID
* @param list 员工ID列表
* @return
*/
@Delete("<script>" +
"DELETE FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND EMPLOYEE_ID IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
int deleteMember(@Param("preId") Long preId, @Param("list") List<Long> list); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId}")
List<CallPreMember> getPreMemberList(@Param("preId") Long preId); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND IS_CALL_AGAIN=1")
List<CallPreMember> getPreMemberListByAgain(@Param("preId") Long preId); /**
* 获取会议成员列表
* @param preId 会议ID
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} ORDER BY IS_HOST DESC")
List<CallPreMember> getMemberListFromData(@Param("preId") Long preId); @Select("SELECT count(*) FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} ORDER BY IS_HOST DESC")
int getMemberListFromDataCount(@Param("preId") Long preId); /**
* 批量增加成员
* @param list
*/
@Insert("<script>" +
"INSERT INTO TAB_CALL_MT_PRE_MEMBER (MEMBER_ID, PRE_ID, MEMBER_TYPE, MEMBER_PHONE,MEMBER_SEX,MEMBER_STATUS,MEMBER_INFO,RELATED_ID,EMPLOYEE_ID,EMPLOYEE_NO,ROOM_ID,PHONE_STATUS)"+
" VALUES "+
"<foreach collection='list' index='index' item='item' separator='union'>" +
" (MEMBER_SEQ.NEXTVAL,#{item.preId}, #{item.memberType},#{item.memberPhone},#{item.memberSex}, #{item.memberStatus},#{item.memberInfo},#{item.relatedId},#{item.employeeId},#{item.employeeNo},#{item.roomId},#{item.phoneStatus})"+
"</foreach>" +
"</script>")
// @Options(useGeneratedKeys = false)
int insertMemberList(@Param("list") List<CallPreMember> list); /**
* 删除成员
* @param list
* @param preId
*/
@Delete("<script>" +
"DELETE FROM TAB_CALL_MT_PRE_MEMBER where PRE_ID=#{preId} and MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
int delMemberList(@Param("list") List<String> list, @Param("preId") Long preId); /**
* 修改成员状态
* @param callMember
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} and MEMBER_PHONE=#{memberPhone}")
@Options(useGeneratedKeys = false)
int updateMemberStatus(CallPreMember callMember); /**
* 批量修改成员状态
* @param memberStatus
* @param preId
* @param list
*/
@Update("<script>" +
"UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} and MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
@Options(useGeneratedKeys = false)
int updateMemberStatusbatch(@Param("memberStatus") Long memberStatus, @Param("preId") Long preId, @Param("list") List<String> list); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{memberStatus} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberStatusInPreId(@Param("memberStatus") Long memberStatus, @Param("preId") Long preId); /**
* 搜索全部单听或者全部发言的成员信息
* @param preId
* @param memberStatus
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} and MEMBER_STATUS=#{memberStatus} AND IS_HOST=0")
List<CallPreMember> getMembersByPreIdAndStatus(@Param("preId") Long preId, @Param("memberStatus") Long memberStatus); /**
* 获取会议成员信息根据员工
* @param employeeId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE EMPLOYEE_ID=#{employeeId}")
List<CallPreMember> getPreMemberInfoByEmployee(@Param("employeeId") Long employeeId); @Select("<script>" +
"SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND MEMBER_PHONE IN "+
"<foreach collection='list' open='(' close=')' index='index' item='item' separator=','>" +
" #{item} "+
"</foreach>" +
"</script>")
List<CallPreMember> getPreMemberByPhoneAndPreId(@Param("preId") Long preId, @Param("list") List<String> list); List<CallPreMember> getPreMemberChase(@Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId); /**
* 获取会议成员
* @param preId
* @return
*/
@Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId}")
List<CallPreMemberStatus> getPreMemberListStatus(@Param("preId") Long preId); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET IS_CALL_AGAIN=#{isCallAgain} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberAutoChase(@Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId);
// /**
// *
// * @param preId
// * @param status
// * @return
// */
// @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_STATUS=#{status} WHERE PRE_ID=#{preId} AND IS_HOST=0")
// @Options(useGeneratedKeys = false)
// int updateAllMemberStatus(@Param("status")Long status,@Param("preId")Long preId); @Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE MEMBER_PHONE=#{phone} AND MEMBER_CALL_STATUS!=10")
@Options(useGeneratedKeys = false)
List<CallPreMember> getMemberMeetingIng(@Param("phone") String phone); @Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET MEMBER_CALL_STATUS=0,MEMBER_STATUS=#{memberStatus},IS_CALL_AGAIN=#{isCallAgain} WHERE PRE_ID=#{preId} AND IS_HOST=0")
@Options(useGeneratedKeys = false)
int updateMemberInitStatus(@Param("memberStatus") Long memberStatus, @Param("isCallAgain") Long isCallAgain, @Param("preId") Long preId); @Select("SELECT count(*) FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{preId} AND MEMBER_CALL_STATUS IN (1,4,6,7,26,27)")
int getMemberOnlineCount(@Param("preId") Long preId); /**
* 获取未连接的成员
* @param isHost 是否是主持人1主持人 0成员
* @param preIds 电话会议id列表
* @return List<CallPreMember>
*/
List<CallPreMember> findUnCallByPreIds(@Param("isHost") Integer isHost, @Param("preIds") List<Long> preIds); /**
* 查询号码是否在会议中
* @return
*/
List<CallPreMember> isInConCall(@Param("phone") String phone); @Select("SELECT * FROM TAB_CALL_MT_PRE_MEMBER WHERE PRE_ID=#{meetingId} AND member_phone = #{phone}")
CallPreMember findByPhone(@Param("meetingId") Long meetingId, @Param("phone") String phone); /**
* 修改成员状态 成员状态0初始状态(未连接)1加入会议 2离开会议 5 正在呼叫中 10结束会议'
* @param meetingMember
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET member_call_status = #{memberCallStatus} " +
" WHERE PRE_ID=#{preId} and MEMBER_PHONE=#{memberPhone}")
@Options(useGeneratedKeys = false)
int updateMemberCallStatus(CallPreMember meetingMember); /**
* 批量修改成员状态
* @param preId
*/
@Update("UPDATE TAB_CALL_MT_PRE_MEMBER SET member_call_status = #{status} " +
" WHERE PRE_ID=#{preId} ")
@Options(useGeneratedKeys = false)
int updateMemberCallStatusAll(@Param("preId") Long preId, @Param("status") Long status); }
mybatis的dao的注解的更多相关文章
- mybatis源码学习--spring+mybatis注解方式为什么mybatis的dao接口不需要实现类
相信大家在刚开始学习mybatis注解方式,或者spring+mybatis注解方式的时候,一定会有一个疑问,为什么mybatis的dao接口只需要一个接口,不需要实现类,就可以正常使用,笔者最开始的 ...
- Mybatis Dao层注解及XML组合Dao的开发方式
mybatis可以用xml进行数据操作,也可以在dao层用注解的方式,也可以采取xml和dao层接口组合使用的方法.显然 ,后者更加简单. 实体类Student package com.zhao. ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合
Spring + Mybatis - 原始dao开发整合 与 Mapper代理整合 标签: mybatisSpringbeanApplicationContextMapper 2015-12-31 1 ...
- MyBatis学习--mybatis开发dao的方法
简介 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法. 主要概念介绍: MyBatis中进行Dao开发时候有几个重要的类,它们是SqlSessionFac ...
- 四 mybatis开发dao的方法
mybatis开发dao的方法 1.1 SqlSession使用范围 1.1.1 SqlSessionFactoryBuilder //以流的方式读取总的配置文件 Reader rea ...
- MyBatis开发Dao
MyBatis开发Dao有两种方法: 1.原始Dao开发方法,就是程序需要编写Dao的接口和Dao的实现类. 2.MyBatis的mapper接口(相当于Dao接口)代理开发方法.(更重要) ---- ...
- MyBatis原始dao开发及问题总结(五)
一.MyBatis原始Dao开发方式 1.原始dao开发需要程序员编写dao接口和dao接口实现类 编写UserDao接口:UserDao.java package codeRose.dao; pub ...
- Spring+SpringMVC+MyBatis深入学习及搭建(二)——MyBatis原始Dao开发和mapper代理开发
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6869133.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(一)——My ...
随机推荐
- JBoss环境搭建及部署Web项目
http://blog.csdn.net/pop303/article/details/7210290 赶在年前学习了一下JBOSS,之前觉得JBOSS相关资料会有很多,不过现在发现很少,在亚马逊出也 ...
- 使用typescript开发js代码提升代码维护性
function test() { var gs = new Greeter('ss'); alert( gs.greet()); } window.onload = test; class Gree ...
- SQL中的join操作总结(非常好)
1.1.1 摘要 Join是关系型数据库系统的重要操作之一,SQL Server中包含的常用Join:内联接.外联接和交叉联接等.如果我们想在两个或以上的表获取其中从一个表中的行与另一个表中的行匹配的 ...
- python字符串操作,以及对应的C#实现
--IndexOf-- python: inx = str.find("aa") c#: var inx = str.IndexOf("aa"); --Last ...
- Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结
Atitit.字节数组转字符串 base64 base16 Quoted-printable 编码原理设计 attilax 总结 1. Base64编码, 1 2. Base64实现转换原理1 3. ...
- iOS多线程与网络开发之NSURLCache
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. // 2 // ViewController.m 3 // NSURLCacheDemo 4 // 5 // Created by haomengzhu ...
- 众数问题(山东理工OJ)
题目描写叙述 给定含有n个元素的多重集合S,每一个元素在S中出现的次数称为该元素的重数.多重集S中重数最大的元素称为众数. 比如,S={1,2,2,2,3.5}.多重集S的众数是2,其重数为3. 对于 ...
- ActiveMQ从源代码构建
众多开源项目.我们一般都是直接拿过来用之而后快. 只是我们也应该知道这些项目是怎样从源代码构建而来的. 既然代码是写出来的,就不能避免有BUG存在,话说没有完美的软件,也没有无漏洞的程序. 事实上从源 ...
- Real-Time SQL Monitoring using DBMS_SQLTUNE
Real-Time SQL Monitoring reports are available from three locations: Enterprise Manager - Click the ...
- Oracle之标示符无效
一.引言 今天使用Oracle客户端执行一条sql语句 order by colname3 结果一直提示标示符无效,以为是自己把列名写错了打开表的列,一个字母一个字母的比对,还是没有错 二.原因及解决 ...