Spring MyBatis Memcached Bootstrap
===========================
# 说明
* *ssm3-mybatis2-memcached* 使用了 simple-spring-memcached 。因为 mybatis-memcached 不支持 MyBatis2(iBatis),只能用在 MyBatis3 里。但是因为有的项目还跑在 MyBatis2 版本上,所以也做一个例子。
* *mm-mybatis3-memcached* 使用了 mybatis-memcached 。因为 simple-spring-memcached 暂时和 MyBatis3 没办法直接整合(MyBatis3 不再需要 DAO 实现类),simple-spring-memcached
annotation 在 interface 方法里不起作用。见我提交的 [Bug](http://code.google.com/p/simple-spring-memcached/issues/detail?id=7)。
* *ssm3-springcache-mybatis3-memcached* 通过 Spring Cache(Spring 3.1+) 实现 simple-spring-memcached 和 MyBatis3 整合。
* simple-spring-memcached 使用了 JSON 序列化。
# 比较
* mybatis-memcached 对缓存的控制粒度最粗(比如更新某块缓存中的某个 key 值),基本不能做任何精细控制。但是最简单,不用写任何代码。简单项目可以使用。
* 如果希望做细粒度控制,可以使用 SSM,如果使用了 Spring Cache ,还可以用到 SpEL 对 key 进行灵活定义.
# mm-mybatis3-memcached
使用这种方式,调用 getUsersByRoleId 这种两张表关联数据的方法时,会出现脏数据的问题。
Cache 的 namespace 根据是这样生成的:
Object key 'me.batizhao.dao.UserDao' converted in '_mybatis_18d173c3'
Object key 'me.batizhao.dao.RoleDao' converted in '_mybatis_73a81b38'
namespace 下边的查询缓存是这样被保存在 memcached 的
Insert/Updating object (_mybatis_18d173c3, [_mybatis_44b07f4c, _mybatis_46ba070c])
Insert/Updating object (_mybatis_73a81b38, [_mybatis_1f462b4d, _mybatis_33742b43])
先调用 getUsersByRoleId 生成缓存,再调用 updateRole 方法,最后再一次调用 getUsersByRoleId,User 中相关的 Role 查询结果还是走缓存,不会被更新。
Object key '1152417612:1218320355:me.batizhao.dao.UserDao.getUsersByRoleId:0:2147483647:SELECT u.id, u.name, r.id as "role.id", r.name as "role.name" FROM user u, user_role ur, role r WHERE u.id = ur.userid and r.id = ur.roleid and ur.roleid = ?:1' converted in '_mybatis_44b07f4c'
# ssm3-mybatis2-memcached
使用这种方式,可以细粒度的控制 Memcached. 详见:
* [使用 Simple-Spring-Memcached Annotation](http://batizhao.github.com/java/2012/09/27/simple-spring-memcached-annotation/)
* [使用 Simple-Spring-Memcached: SingleCache](http://batizhao.github.com/java/2012/09/27/using-simple-spring-memcached-one/)
* [使用 Simple-Spring-Memcached: MultiCache](http://batizhao.github.com/java/2012/09/27/using-simple-spring-memcached-two/)
* [使用 Simple-Spring-Memcached: AssignCache](http://batizhao.github.com/java/2012/09/28/using-simple-spring-memcached-three/)
没有合适的资源?快使用搜索试试~ 我知道了~
spring-mybatis-memcached.zip_Memcached java_annotation_mybatis_m
共89个文件
java:34个
xml:23个
sample:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 173 浏览量
2022-09-21
17:32:08
上传
评论
收藏 135KB ZIP 举报
温馨提示
ssm3-mybatis2-memcached 使用了 simple-spring-memcached 。因为 mybatis-memcached 不支持 MyBatis2(iBatis),只能用在 MyBatis3 里。但是因为有的项目还跑在 MyBatis2 版本上,所以也做一个例子。 mm-mybatis3-memcached 使用了 mybatis-memcached 。因为 simple-spring-memcached 暂时和 MyBatis3 没办法直接整合(MyBatis3 不再需要 DAO 实现类),simple-spring-memcached annotation 在 interface 方法里不起作用。见我提交的 Bug。 ssm3-springcache-mybatis3-memcached 通过 Spring Cache(Spring 3.1+) 实现 simple-spring-memcached 和 MyBatis3 整合。 simple-spring-memcached 使用了 JSON 序列化。
资源推荐
资源详情
资源评论
收起资源包目录
spring-mybatis-memcached.zip (89个子文件)
spring-mybatis-memcached
pom.xml 4KB
mm-mybatis3-memcached
pom.xml 2KB
src
test
java
me
batizhao
RoleDaoTest.java 2KB
BaseDaoTestCase.java 873B
UserDaoTest.java 2KB
main
resources
me
batizhao
dao
UserDao.xml 1KB
RoleDao.xml 794B
database
jpetstore-hsqldb-dataload.sql 321B
jpetstore-hsqldb-schema.sql 348B
memcached.properties 195B
log4j.xml 979B
applicationContext.xml 3KB
java
me
batizhao
dao
UserDao.java 292B
RoleDao.java 247B
model
User.java 1KB
Role.java 1KB
.git
index 9KB
hooks
prepare-commit-msg.sample 1KB
applypatch-msg.sample 452B
pre-commit.sample 2KB
pre-applypatch.sample 398B
commit-msg.sample 896B
pre-rebase.sample 5KB
update.sample 4KB
post-update.sample 189B
config 346B
description 73B
refs
tags
heads
master 41B
remotes
origin
HEAD 32B
branches
logs
refs
heads
master 197B
remotes
origin
HEAD 197B
HEAD 197B
packed-refs 94B
objects
info
pack
pack-402ef4916a585cc9f8dc7ae3294227b8b910f354.idx 14KB
pack-402ef4916a585cc9f8dc7ae3294227b8b910f354.pack 47KB
info
exclude 240B
HEAD 23B
.gitignore 152B
ssm3-springcache-mybatis3-memcached
pom.xml 2KB
src
test
java
me
batizhao
XMemcachedTest.java 1KB
BaseDaoTestCase.java 771B
UserDaoTest.java 985B
main
resources
me
batizhao
dao
UserDao.xml 563B
database
jpetstore-hsqldb-dataload.sql 84B
jpetstore-hsqldb-schema.sql 146B
log4j.xml 979B
applicationContext-cache.xml 3KB
applicationContext.xml 3KB
java
me
batizhao
dao
UserDao.java 332B
model
User.java 1KB
springcache-mybatis3
pom.xml 2KB
src
test
java
me
batizhao
BaseDaoTestCase.java 771B
UserDaoTest.java 985B
main
resources
me
batizhao
dao
UserDao.xml 563B
database
jpetstore-hsqldb-dataload.sql 84B
jpetstore-hsqldb-schema.sql 146B
log4j.xml 1KB
applicationContext-cache.xml 1KB
applicationContext.xml 2KB
java
me
batizhao
dao
UserDao.java 277B
model
User.java 1KB
README.md 3KB
ssm3-mybatis2-memcached
pom.xml 1KB
src
test
java
me
batizhao
dao
RoleDaoTest.java 2KB
BaseDaoTestCase.java 775B
UserDaoTest.java 4KB
cache
CounterTest.java 2KB
memcached
SpyMemcachedTest.java 1KB
service
RoleManagerTest.java 790B
main
resources
sqlmaps
RoleSQL.xml 768B
UserSQL.xml 2KB
database
jpetstore-hsqldb-dataload.sql 321B
jpetstore-hsqldb-schema.sql 348B
log4j.xml 1KB
sql-map-config.xml 305B
applicationContext-cache.xml 2KB
applicationContext.xml 3KB
java
me.batizhao
dao
UserDao.java 990B
UserDaoImpl.java 3KB
RoleDaoImpl.java 1KB
RoleDao.java 241B
cache
Counter.java 1KB
UserCache.java 580B
model
User.java 1KB
Role.java 1KB
service
UserManagerImpl.java 474B
UserManager.java 172B
RoleManager.java 166B
RoleManagerImpl.java 724B
共 89 条
- 1
资源评论
邓凌佳
- 粉丝: 65
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功