- 浏览: 55416 次
- 性别:
- 来自: 南京
最新评论
文章列表
mybatis动态传递0
- 博客分类:
- mybatis
mybatis动态传递参数是,如果是引用类型的话,那么传递0的时候,不要判断为''空字符串,如果不小心写了这个判断,将不会把0作为参数传递进去的
写法错误,orderStatus是一个Integer类型的数据 要把后面的去掉,否则传递0的时候,将不传递到动态sql里面去
<if test="orderStatus != null and orderStatus != ''">
and order_status = #{orderStatus}
</if>
pagehelper自动分页
- 博客分类:
- mybatis
最近改造项目,将项目的自动分页使用pagehelper来处理
增加新的jar包
将mybatis的jar包升级到3.2.8以上,如果没升级到,将不用
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
将mybatis配置文件中新增如下插件
sql的xml文件为
mapper文 ...
修改环境变量立即生效
- 博客分类:
- linux
最近测试环境上面装了jira和nexus私服环境,由于jira安装的时间比较早,版本比较低,用的jdk是1.6的,nexus使用的是1.7以上版本,两个在启动的时候总是会冲突,这个时候就临时调整环境变量
直接修改/etc/profile文件
#export JAVA_HOME=/usr/java/jdk1.8.0_45
#export JAVA_HOME=/appl/jdk/jdk1.6.0_27
export JAVA_HOME=/appl/jdk/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAV ...
mysql记录慢日志
- 博客分类:
- mysql
在mysql5.6以上版本中,直接在my.cnf文件
[mysqld]
下面新增如下配置
slow_query_log = on
slow-query-log-file = /home/mysql/slow-query.log
long_query_time = 1
slow_query_log开启慢日志查询
slow-query-log-file 日志存放的位置
long_query_time 超过多少秒的sql进行记录
直接在mybatis-config.xml配置文件中新增一个配置
<settings>
<setting name="lazyLoadingEnabled" value="false"/>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
注意,这个时候,也要有对应的log4j.properties配置文件
log4j.rootCategory=I ...
mysql分组后获取若干数据
- 博客分类:
- mysql
最近做一个链表分组查询,并且取每个分组的前几位数据的业务
例如有商品表,订单表,品类表,商品表中有自己的分类,并且商品表外键关联品类表主键,订单表外键关联商品表中的商品id
业务需要,根据当前时间区间进 ...
在java 1.5中,提供了一些非常有用的辅助类来帮助我们进行并发编程,比如CountDownLatch,CyclicBarrier和Semaphore,今天我们就来学习一下这三个辅助类的用法。
以下是本文目录大纲:
一.CountDownLatch用法
二.CyclicBarrier用法
三.Semaphore用法
一.CountDownLatch用法
CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能 ...
最近mabatis在自动生成代码的时候,只生成了insert方法,没有生成delete,update等方法,一般情况是忘记配置了数据库id的主键,配置完主键即可
My97DatePicker使用
- 博客分类:
- js 日期使用
<input type="text" name=birthday autocomplete="off" onClick="WdatePicker()" />
引入的文件包一定按照原有格式引入
<script type="text/javascript" src="/js/date/WdatePicker.js"></script>
由于图片服务器空间不够,我们将不常用的图片tar压缩后,但是有时候又需要指定解压一些文件
可以使用命令
tar xvf 压缩文件.tar 指定需要解压的文件
这里一定要注意,指定需要解压的文件,必须要按照压缩文件的目录来,如果目录错误是解压不出来的
mysql连表查询优化
- 博客分类:
- mysql
mysql在做连表查询时,有时候用不到索引,这个时候就可以用explain来看一下查询计划
例如
EXPLAIN SELECT * FROM goods_base g JOIN `order` d ON d.goods_id=g.goods_id ;
这个虽然在g表和d表都为goods_id建立了索引,但是执行计划中,d表并没有走索引的
这个时候,如果要用到d表走索引的话,可以在where条件后面跟一个d表的索引条件查询即可
EXPLAIN SELECT * FROM goods_base g JOIN `order` d ON d.goods_id=g.goods_ ...
之前配置了很多次,主要是jar包的版本不对,导致了一些冲突,tomcat7的lib下面的jar我全部复制了下来,直接替换即可
替换完毕后,可以直接在context.xml文件中配置
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:10.251.237.72:11211"
sticky="false"
lockingMode="auto"
...
年轻代gc jvm crash
- 博客分类:
- java
最近公司线上部分服务器出现了gc异常崩溃,检查了下异常崩溃日志,但是应用日志并没有出现很大的异常,但是在日志文件系统发现了hs_err_pid32506.log日志,这基本判定是jvm 异常了
打开日志文件
当时线程崩溃的是GCTaskThread
这个是当时所有Thread的列表,执行的线程exited是GCTaskThread
这块就发现是eden区域满了的时候发生了异常,然后查了些资料,发现是sun jdk在1.6的版本中,由于优化了垃圾回收算法,但是如果出现了和新生代区域大小差不多的对象时,就会引发这种crash,在启动参数中加入 -XX:-ReduceInitia ...
bitset和lambda表达式
- 博客分类:
- java
今天看了下lambda表达式,突然想看一下list中removeif的源码,发现挺有意思的
首先说一下BitSet这个类,这个类按照jdk里面说的是一个按需增长的位向量,没一个位置都是一个boolean值,我自己的理解就是一个很容易扩大的数组,每个数组的位置,都是一个boolean值,每个默认值为false
好,这会来看一下removif的源码,前提得先明白lambda表达式,removeif方法是传递了一个Predicate接口的参数
首先定义一个removeset的bitset,长度为当前数组的长度,然后遍历当前数组,利用传递的参数filter来判定是否需要执行remove操 ...