MessageDaoImpl.java$saveMessageReceiverWithGroup
310行
插入的时候检查数据库是否存在该记录
//插入消息记录
String insertSql = "INSERT INTO MS_RECEIVER(MSG_ID,RECEIVER_ID,RECEIVE_TIME,RECEIVE_STATE,RECEIVER_NAME,RECEIVE_TYPE) " +
" SELECT ?,r.USR_ID,?,?,r.USR_NAME,? " +
" FROM ("+ sUsrIdSql +") r" +
" WHERE NOT EXISTS (SELECT 1 FROM MS_RECEIVER m WHERE m.MSG_ID = ? and m.RECEIVER_ID = r.USR_ID and m.RECEIVE_TYPE = ?)";
Object[] args = new Object[]{msg_id,re.getReceive_time(),re.getReceive_state(),re.getReceive_type(),msg_id,re.getReceive_type()};
getJdbcTemplate().update(insertSql, args);
INSERT INTO MS_RECEIVER
(MSG_ID,
RECEIVER_ID,
RECEIVE_TIME,
RECEIVE_STATE,
RECEIVER_NAME,
RECEIVE_TYPE)
select 80251, 843167, 1258944371955, 0, '倪煜', 0
from MS_RECEIVER m where not exists (SELECT 1
FROM MS_RECEIVER m
where m.msg_id = 80251
and m.receiver_id = 843167
and m.receive_type = 0)
分享到:
相关推荐
3. SQL语言:掌握SQL语句,包括SELECT用于查询数据,INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除数据,以及CREATE、ALTER和DROP用于管理数据库结构。 进阶MySQL知识: 1. 视图:视图是虚拟表,它基于...
熟练掌握SQL语句的编写,包括SELECT、INSERT、UPDATE、DELETE以及更复杂的JOIN、SUBQUERY等操作,是DBA的基本功。 其次,理解Oracle数据库的体系架构至关重要。Oracle采用多层架构,包括用户接口层、应用服务器层、...
//下面是插入语句,这里是指明需要插入的列来插入 Sql.ExecuteNonQuery((a) => Sub.Insert(a).Fields(a.UserName, a.RoleId, a.LoginPassword, a.CreateDate).Values("D", 11, "213", DateTime.Now) ); //下面是...
3. **数据库管理**:很可能使用MySQL,了解SQL语言,包括数据查询、插入、更新和删除操作,以及表设计和关系管理。 4. **模板引擎**:CMS可能使用模板引擎如Smarty,用于分离前端展示和后端逻辑,使开发者可以专注...
源码中可能包含数据库连接、查询、插入、更新和删除操作,这涉及了SQL语句的编写和PHP的PDO或mysqli扩展。 2. **MVC架构**:多数现代PHP CMS系统采用Model-View-Controller(MVC)设计模式。模型负责处理数据,视图...
同时,了解SQL的内置排序(如ORDER BY语句)与编程语言中的排序算法如何配合使用,也是提升系统性能的关键。 在DBA工作中,理解这些排序算法有助于优化数据库查询,尤其是在处理大量数据时。通过对查询结果进行预...
3. SQL语句性能优化: - 子查询优化:避免在查询中使用子查询,尽可能转换为连接查询,减少查询层级,提高执行效率。 - 海量数据分页优化:使用LIMIT和OFFSET进行分页时,OFFSET会导致大量数据扫描,可以使用主键...
SQL注入是一种常见的黑客攻击手段,通过将恶意SQL语句插入到用户输入字段,攻击者可以获取、修改或删除数据库中的敏感信息。Safe3WVS能够自动探测这些弱点,从而保护网站免受此类威胁。 【标签】"扫描注入点"直指该...
GreenDao是一个轻量级的数据库框架,它的核心思想是通过代码生成技术,将Java对象与SQLite数据库表进行映射,避免了手动编写SQL语句。GreenDao 3.1版本引入了许多改进,如更好的性能,更简洁的API以及对Android ...
3. **SQL 查询优化**:面试中经常会被问到如何优化SQL查询语句。比如使用`GROUP BY`进行分组统计,结合`COUNT`函数等。 4. **`GROUP BY` 和 `COUNT`**:这两个关键字常被一起使用,用于按指定列进行分组并统计每组的...
- **SQL语言**:查询、更新、删除和插入操作,以及连接查询和子查询。 - **事务管理**:ACID属性,事务的隔离级别和回滚操作。 10. **框架知识**: - **Spring**:依赖注入(DI)、AOP、Spring Boot和Spring ...