本月博客排行
年度博客排行
-
第1名
宏天软件 -
第2名
龙儿筝 -
第3名
青否云后端云 - wallimn
- gashero
- vipbooks
- wy_19921005
- benladeng5225
- fantaxy025025
- zysnba
- ssydxa219
- e_e
- javashop
- sam123456gz
- arpenker
- tanling8334
- kaizi1992
- xpenxpen
- xiangjie88
- wiseboyloves
- ganxueyun
- lemonhandsome
- xyuma
- sichunli_030
- wangchen.ily
- jh108020
- zxq_2017
- jbosscn
- Xeden
- zhanjia
- forestqqqq
- luxurioust
- lzyfn123
- johnsmith9th
- ajinn
- nychen2000
- wjianwei666
- daizj
- hanbaohong
- 喧嚣求静
- ranbuijj
- silverend
- kingwell.leng
- lchb139128
- kristy_yy
- lich0079
- jveqi
- java-007
- sunj
- yeluowuhen
最新文章列表
Spring-AOP、Struts2拦截器、MyBatis Plugin实现原理比较(三)
Spring AOP
Spring和struts2拦截链的实现理念是一样的,所有的拦截器会组织成一个链,由中央调度器统一推进。
Spring在拦截器(通知 Advice) 的接口上做得更细致一些,在MyBatis和Struts2中,拦截器链的推进是要在每个拦截器的实现中显式调用的。而在Spring中,这个动作已经被封装了。
看下面这个 AfterReturningAdvice ...
MyBatis动态SQL
转自 http://blog.csdn.net/a600423444/article/details/6658411
MyBatis动态SQL
动态SQLMyBatis的动态SQL,解决了SQL字符串拼接的痛苦。
1.if
<select id="findActiveBlogWithTitleLike"
parameterType ...
Spring-AOP、Struts2拦截器、MyBatis Plugin实现原理比较(二)
Struts 2
Struts2是由StrutsPrepareAndExecuteFilter 的 doFilter 来处理每个HTTP请求的
由执行器的executeAction进入执行流程
execute.executeAction(request, response, mapping);
实际的执行是由dispatcher发起的
public void ex ...
MyBatis之cache缓存配置
<cache eviction="FIFO" flushInterval="86400000" size="1000" readOnly="true"/>
<select resultMap="location_result" parameterType=" ...
Activiti缓存机制解析
Activiti的持久化和缓存最终都是有DbSqlSession处理的,在此主要也是讲这个对象。类图如下。
public class DbSqlSession implements PersistenOperation, Session {
protected SqlSession sqlSession;
protected List<PersistentObject ...
mybatis
转自http://blog.sina.com.cn/u/1779226085
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名,
index指定一个名字,用于表示在迭代过程中,每次迭代到的 ...
mybatis数据库分页
其实有两部分改动(基于官网demo做的修改):
增加分页插件,简单易用(自我感觉良好)。
增加一个BaseMapper,把常用的方法抽象到此接口中,避免在多个接口中重复定义(相当于常见的dao基类)。
基于maven并使用内存数据库hsqldb,可直接运行junit测试。
分页的使用方法:在接口中增加Page参数,并设置当前页数和每页条数。
public interface BaseMa ...
Mybatis的基本应用
src下的配置文件:config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd ...
Mybatis混合对象单表存储
先吐槽几句,Mybatis的官方文档就只有那一篇User Guide,加上源码覆盖的例子和单元测试,里面覆盖的知识点最多只有7成,剩下的3成功能如果需要用到,那就悲剧了,需选择了看源码,多花一点时间,记得得到巩固,何乐而不为呢。
我的实体对象如下所示。
public class ProcessDefinition {
private String ...
MyBatis批量插入数据
在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,由于项目使用了Spring+MyBatis的配置,所以打算使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程贴出来。
实体类TrainRecord结构如下:
public class TrainRecord implements Serializable {
...
MySQL报错: java.sql.SQLException: Column count doesn't match value count at row 1
项目使用了Spring和MyBatis,在往mysql数据库里插入数据时报错如下:
org.springframework.jdbc.BadSqlGrammarException:
### Error updating database. Cause: java.sql.SQLException: Column count doesn't match value count at ro ...
Mybatis字段映射Map
Mybatis3的资源优先,官方除了用户指南之外,没有别的资料。源码中的单元测试也没有完整的覆盖业务。
遇到这样的问题,在一个JavaBean中,有一个Map属性,希望这个属性可以映射到Table中的一列。
public class TaskEntity implements Task, Serializable, PersistentObject {
protected ...
grails应用和mybatis应用关于oracle的整合
最近项目中需要,管理端使用grails框架,用户端使用servlet和mybatis。
流程:使用grails创建表,使用mybatis对表进行操作。
问题:grails使用hibernate进行库的操作,既可以使用自身的id增长策略也可以使用oracle的id增长策略,但是mybatis需要使用oracle的id策略,更新、删除、查询不受此影响
解决:在grails的domain中对表id进 ...
Mybatis执行SQL语句的方式
最近在玩Mybatis,感觉官方文档对于通过执行mapper接口和XML配置文件执行SQL的描述不是特别清楚,现在总结如下:
首先实现mapper接口:
import org.apache.ibatis.annotations.Select;
public interface UserMapper {
@Select("SELECT * FROM table01 WHERE ...
MyBatis的动态SQL详解
MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑。
MyBatis中用于实现动态SQL的元素主要有:
if
choose(when,otherwise)
trim
where
set
foreach
if就是简单的条件判断,利用if语句我们可以实现某些简单的条件选择。先来看如下一个例子:
MyBatis insert操作返回主键 (db2)
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能
针对Sequence主键而言,可以采用如下配置方式:
<insert id="insertGroup" parameterType="com.lenovo.lereport.doma ...