博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何使用spring配合mybatis配置多个数据源并应用?
阅读量:6439 次
发布时间:2019-06-23

本文共 6611 字,大约阅读时间需要 22 分钟。

  使用多数据源的场景应该是很多的,如操作同一台服务器上不同的数据库,或者多地机器上的相同或不相同数据库。

  虽然涉及到不同数据库时,我们也许可以通过跨库操作的方式,如 other.user 使用同一数据源来操作数据库,但是,这样明显使得应用很难扩展,单数据库将无法拆离。使用多数据源操作则可以解决这个问题。

  在spring中怎样使用多数据源?本文通过实践方式,让我配置多数据源有个参考。(不得不说,java中很大的一个难点就在于配置环境)

  从入口处更改,web.xml中添加引用spring配置文件:

c
characterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
characterEncodingFilter
/*
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
UrlRewriteFilter
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
UrlRewriteFilter
/*
REQUEST
FORWARD
dispatcherServlet
/api/*
c
index.html
JAMonFilter
com.xx.core.web.filter.PageMonFilter
flag
true
JAMonFilter
/*
exceptions
/jamon/exceptions.jsp

2. 在application.xml中添加多数据源配置:

classpath*:/spring/conf.properties
systemDictDao
userDao
infoDao
jamonInterceptor
classpath:/dozerBeanMapping.xml
classpath:/dozerBeanMapping2.xml

3. 在dao.xml中,添加对数据源的引用:

4. 在具体的sql当中实现数据操作:

and u.user_id = #{userId}
and u.username = #{userName}
insert into nzz ( user_id,channel, card_no,request_id,status) values ( #{userId},#{channel},#{cardNo},#{requestId},#{status})
update nzz set status=#{status} ,request_id=#{requestId} where user_id=#{userId} and card_no=#{cardNo} and channel=#{channel}

5. 完善一下,使用别名,使sql写的时候更简短:

 

以上,就已经完成了一整个spring操作多数据源的mybatis了。

转载地址:http://clzwo.baihongyu.com/

你可能感兴趣的文章
python easy_install django 安装
查看>>
读《图解HTTP》总结--第六章
查看>>
毕业就能拿到上万薪资的程序员他们都做了啥?
查看>>
最小的k个数
查看>>
iOS技巧之获取本机通讯录中的内容,解析通讯录源代码
查看>>
程序员从零到月薪15K的转变,python200G资料分享
查看>>
DNS域名解析的知识了解
查看>>
部署社交网站
查看>>
CentOS下如何修改主机名
查看>>
“机器人商店”是什么?卖机器人的吗?
查看>>
SVN的代码正确提交方法
查看>>
js框架 vue
查看>>
tomcat关闭时进程未退出
查看>>
Git分支管理策略
查看>>
kali安装软件遇到的问题&解决
查看>>
Azure系列2.1.10 —— CloudBlobClient
查看>>
【04-20】httpclient处理302重定向问题
查看>>
OpenGLes2.0 什么是Pbuffer
查看>>
Docker Java+Tomcat 环境搭建
查看>>
uoj#179. 线性规划
查看>>