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 ...
随机推荐
- oracle经验小节2
1,instr 函数 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置. 语法如下: instr( string1, string2 [, start_position ...
- 服务器server2008网站iis7+php环境的搭建
IIS+FastCGI+PHP5_32_Gzip环境搭建-------------------0.装iis71.把php_5.32_win86解压到d:\php2.php.ini文件已经配置好不需要在 ...
- PHP扩展开发及内核应用(未完)
转: https://github.com/walu/phpbook
- 使用 P3P 规范让 IE 跨域接受第三方 cookie
前两天帮同事处理一个 js 跨域问题,使用 jsonp 跨域提交用户名密码请求,实现自动登录第三方网站,即 SSO(single-sign-on) 单点登录,一处登录处处登录.在 Chrome 下没问 ...
- Atitit.js获取上传文件全路径
Atitit.js获取上传文件全路径 1. 默认的value只能获取文件名..安全原因.. 1 2. Firefox浏览器的读取 1 3. Html5 的file api 2 4. 解决方法::使用a ...
- iOS开发多线程篇 04 —线程间的通信
iOS开发多线程篇—线程间的通信 一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任 ...
- C#中Equals和==的比较
一.值类型的比较 对于值类型来说 两者比较的都是”内容”是否相同,即 值 是否一样,很显然此时两者是划等号的. ; ; Console.WriteLine("i==j"+(i== ...
- Windows调试神器:WinDBG
Q:WinDBG的Watch窗口中我想要查看长字符串,但是后面的内容都被省略为...了怎么办? A:如图,双击你要查看的内容,出现光标后,移动光标即可查看后面被省略的内容 Q:WinDBG如何给程序设 ...
- [转]c++ virtual public的含义和作用
我在写基于MICO的CORBA程序的时候遇到的,上网查了一下 转自:http://bbs.seu.edu.cn/pc/pccon.php?id=872&nid=16822 Question:父 ...
- Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' 解决方法
1. 代码 SHOW VARIABLES LIKE 'character_set_%'; 查看一下 显示 +--------------------------+------------------- ...