文档章节

Spring+MyBatis将数据库注入到静态属性

RippleChan
 RippleChan
发布于 2017/04/04 00:49
字数 237
阅读 57
收藏 3

    说下场景,因为数据量不是很大,200个对象,但使用非常非常频繁,每次数据库读取?不考虑堵塞,从数据库到程序内部,怎么也得耗费20ms左右吧,明显不现实。使用Redis或者其它二级缓存?量上去以后,IO开销依然非常可观。

    考虑数据几乎不变,那么,能不能直接用Java对象缓存?每次使用,直接从Spring的IOC容器获取,岂不美哉,结合我上篇博文,貌似不难实现。

    OK,废话不多说,直接上代码。

    工具类:

    

@Configuration
public class XXXUtils {

    @Resource
    private XXXMapper xxxMapper;

    public static List<XXX> xxxs;

    @PostConstruct
    public void init() {
        xxxs = xxxMapper.getXxxs();
    }

}

    同时,你需要修改Mapper文件

@Repository("xxxMapper")
@Configuration
public interface XXXMapper {

    List<XXX> getXxxs();

}

 

PS:不想泄露代码隐私,所以代码都是简写,可能有细节错误,反正就是这个套路了。

© 著作权归作者所有

共有 人打赏支持
RippleChan
粉丝 48
博文 91
码字总数 25787
作品 0
朝阳
程序员
SpringMVC中定时器继承Task后无法对service注入问题

最近在做一个Spring+MyBatis的一个项目,其中用到了Redis的存储,然后遇到问题是这样的: RedisTask是通过定时器来每分钟像数据库里推送的,于是就有了 然后在定时器的任务中通过对Redis的调...

Pig-man
2016/03/21
2.1K
0
JDBC02 利用JDBC连接数据库【使用数据库连接池】

1 使用Statement执行含有动态信息的SQL语句时有几个不足:   1.1 由于需要将动态数据拼接到SQL语句中,这导致程序复杂度高,容易出错   1.2 拼接的数据若含有SQL语法内容就会导致拼接后的S...

yrgw
2017/07/11
0
0
mybatis 批量插入的两种方式

一、mybiats foreach标签 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中...

追梦的南瓜
2016/09/03
3.8K
1
spring+mybatis 配置文件占位符不能解析的问题

在spring里使用org.mybatis.spring.mapper.MapperScannerConfigurer 进行自动扫描的时候,设置了sqlSessionFactory 的话,可能会导致PropertyPlaceholderConfigurer失效,也就是用${jdbc.us...

疯狂的兔子
2014/04/03
0
0
【Spring+Mybatis】Spring整合Mybatis

在《【Mybatis】Helloworld》(点击打开链接)大家看到使用Mybatis需要撰写一个数据库连接与配置的xml文件,而Spring具体整合JDBC的功能,具体见《【Spring】整合JDBC连接数据库》(点击打开...

yongh701
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180925 df与du命令、fdisk磁盘分区

df 命令 disk filesystem的缩写,查看已挂载磁盘的总容量、使用容量、剩余容量信息。 [root@centos01 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda3 27...

野雪球
41分钟前
1
0
Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
今天
2
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
今天
1
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
今天
2
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部