每日随笔131117
来源:互联网 发布:js获取 鼠标位置 编辑:程序博客网 时间:2024/06/06 03:27
1. 字符串判null与判空的顺序:细节问题,在判断条件上判null应该放在前面(短路求值~);
2. Mysql是不能再update(包括insert等中直接连接或嵌套查询自身的):
一个简单的例子,在一个根据order_value值降序管理界面记录列表中上移和下移功能的实现:
使用Mybatis框架,具体语句:
<update id="swapOrder" parameterType="Map"> update lectures as q1 join lectures as q2 on (q1.id=#{id,jdbcType=INTEGER} and q2.id=#{nextID,jdbcType=INTEGER})or(q1.id=#{nextID,jdbcType=INTEGER} and q2.id=#{id,jdbcType=INTEGER})set q1.order_value = q2.order_value,q2.order_value=q1.order_value; </update> <select id="getNextSmallerID" parameterType="int" resultType="String"> select id from lectures where order_value<(select order_value from lectures where id=#{id,jdbcType=INTEGER}) limit 1 </select> <select id="getNextBiggerID" parameterType="int" resultType="String"> select id from lectures where order_value>(select order_value from lectures where id=#{id,jdbcType=INTEGER}) limit 1 </select>
swapOrder过程使用了连接,但这里通过别名来实现的自身连接,参数map中包括了id和要与之交换的nextID(上移的nextID通过getNextBiggerID来获得,下移同理)。
3. 在实际项目中一定要注意释放资源,各种mysql的session要及时close掉,以及reader、流等,否则在压力测试面前问题立刻就暴露了。
另外,在继承结构中,能够通用的部分可以考虑设为static;
循环中使用Matcher,注意不要在循环内创建Matcher实例,而是用reset()(同String操作——StringBuilder);
- 每日随笔131117
- 每日心得随笔
- 每日随笔(一)
- unity_每日随笔_MyButton
- 每日随笔_Animation_Animator
- 每日随笔_Unity Profiler
- 每日随笔_RenderTexture
- unity_每日随笔_TimeHelp计时器
- 每日随笔_代码优化
- 每日随笔小记-4月20日
- 写个自己看的博客_每日随笔_unity_particleSystem
- 写给自己看的博客_每日随笔_json
- 每日
- 随笔
- 随笔
- 随笔
- 随笔
- 随笔
- cocos2d-x节点(CCParticleSystemQuad.h)API
- MyEclipse的服务器配置
- Android开发入门自结
- 消费者与生产者
- 密码学学习(二) 置换加密算法(Transposition Cipher)及python实现
- 每日随笔131117
- 第11周任务
- IPC进程间通信
- 程序员:下一次面试前你需要准备的五个基本步骤
- C++必知必会之(5)引用是别名而非指针
- 黑马程序员 多线程
- Opengl中导入obj文件
- 软件工程实验一
- 那些,我们难以把握的人生