java插入mysql一条数据,如何返回自增的ID?

在实际操作中,我们常常有一些各种古怪的需求,比如现在这个。数据库的table中有一个自增的id字段,插入数据库后,要求返回刚刚插入那条数据的id。 在单线程情况下,这当然是一个很简单的问题。首先获得数据库的最大id,给将要插入的语句id赋值为MAX+1,然后插入即可。 Oracle也很容易实现,给这个table建立一个sequence,每次都向这个sequence获取下一个id,效率也是价格公道童叟无欺。 但是,给多线程下的mysql返回刚刚插入的id,这似乎有点小为难。一个立刻可以想到的方法是,给插入操作加个锁,插入后查询MAX id,然后解开锁。但是这个显然是不怎么讲究了。 (more…)

Java compiler level does not match the version of the installed Java project facet

有个 Eclipse 下的 Java 项目, 虽然已经把所有的错误都调通了, 但是在工程的左下角还是有个鲜红色的叉. 检查 Problems, 可以观察到唯一一个错误如下:

Java compiler level does not match the version of the installed Java project facet. .. Unknown Faceted Project Problem (Java Version Mismatch)

这是什么意思呢? 字面意思, Java 版本不匹配. 实际意思? 不懂, 求助 google 去. (more…)

XmlMixed信息的解析和获取

java下处理一个xml文档,常常使用DOM(Document Object Model,SAX(Simple API for XML)什么的,但是,当文档很复杂的时候,我们其实可以使用一些偷懒的方法的,JAXB是我最习惯的偷懒大法.当文档大小适中(100MB下都是小文件,嗯.),直接把这个文档丢jaxb,然后从jaxb中寻找需要的信息.实在是一个好办法. 但是,有时候,我们会遇到一些奇怪的格式. 比如下面这么段XML. (more…)