MyBatis 不定个数参数查询
概述
某些情况下,比如要查询某几个key的value时,需要用 where id in () 进行查询,传入的参数不确定个数时,MyBatis 的可以进行特别的配置。
基于 XML 文件配置
利用 XML 的 foreach 标签,可以很简易的配置。传入的参数名可以为一个 List,利用 foreach 拼接成 SQL。如:
<select id="testSearch" resultType="String">
select value from t_test where id in
<foreach collection="list" index="index" item="item" open="(" separator="," clos...
Tomcat 性能的一些优化手记
集群
说能优化高并发,最先最开始当然是服务器自身硬件的升级及服务器集群了。之前的服务器设计上并没有考虑集群的习惯,所以第一件事在做集群的时候,要同步 Session。因为服务器在阿里云上,所以 Seesion 集群同步直接考虑阿里云的 OCS 方案(操作与 Memcached 几乎一致)。
Tomcat 的 Server.xml 配置文件中添加 Manager 节点,托管 Tomcat 的 Session 至 Memcached。
<Context path="" docBase="/home/xxx/xxx.war" reloadable="true" >
<Manager className="de.javakaffee.web.msm.MemcachedB...
网站发送 Safari 推送通知
在 2013 年的 WWDC 上,Safari 增加了新的推送通知功能。虽然这功能用的人并不多,但确是很实用。
用户在访问网站后,网站会请求用户同意推送,之后就可以用 APNs 来推送通知了(不论用户是否开启 Safari,利用的 OS X 的推送)。具体在 IM web 版本等具体领域上可以应用。
具体开发文档参见 Apple Developer 文档,这里不重复:
https://developer.apple.com/notifications/safari-push-notifications/
国内网站 少数派 有使用该功能,可以用 Safari 访问尝试。
OS X EL Capitian 10.11 升级后启动 Intellij IDEA 14 报"您需要安装旧java se 6 运行环境才能打开"
描述
升级 OS X EL Capitian 10.11 后,启动 Intellij IDEA 14 报”您需要安装旧Java SE 6 运行环境才能打开”
解决
首先,先查看本机的 Java 环境的版本
$ java -version
我这边的 Java 版本是javac 1.7.0_40。
到Finder–>应用程序中找到Intellij IDAE,右键–>显示包内容–>Contents–>Info.plist,用文本编辑器编辑。找到 JVMVersion 节点,如下:
<key>JVMVersion</key>
<string>1.6*</string>
修改为上面版本值为本机的 Java 环境...
JavaScript 打印网页
几乎所有的浏览器都可以实现 window.print() 来调用页面打印。但是打印的是全页面的内容,但我们可以用投机取巧的方式来实现局部的打印。
利用注释的标签把要打印的内容包围进去,注意要先择正文不会含有的字符串来用;比如惯用的 <!--startprint--> 与 <!--endprint-->
<!--startprint-->
这里是需要打印的内容,可以带 css 格式
<!--endprint-->
要需要打印的地方把页面上的其他文字用 JS 截取掉
var bdhtml = window.document.body.innerHTML;
var sprnstr = "<!--startprint-->"...