首页 新闻 会员 周边 捐助

如何根据前端传递的参数 在后台判读调用哪个数据库

0
悬赏园豆:20 [已解决问题] 解决于 2019-02-18 10:56

java 后台 ,有两套除了数据不同之外其他都相同的数据库,用户登录时需要根据用户标识判断链接哪套数据库,怎么破

打代码的小超人的主页 打代码的小超人 | 初学一级 | 园豆:91
提问于:2018-12-28 09:19
< >
分享
最佳答案
0

你先别管连什么不同的库 先调通一个前后台交互
后端接收到前端传过来的数据存到一个库里 把这个调通先
至于你说的无非是前台判断下然后调用不同的接口就好了

收获园豆:20
ycyzharry | 高人七级 |园豆:25683 | 2018-12-28 10:15
其他回答(5)
1

这个问题问的好奇怪!!!
没听说过通过参数来调用数据库怎么一说的。
后台写api 接口,这个接口要什么参数,你前台调用api 传参数就好了呀。
要什么数据 调什么api。

xiaobaiskill | 园豆:1122 (小虾三级) | 2018-12-28 09:31

非常感谢你的回复,我想是我没有说清楚需求,是这样的,后台有两套除了数据不同之外其他都相同的数据库,用户登录时需要根据表示判断链接哪套数据库

支持(0) 反对(0) 打代码的小超人 | 园豆:91 (初学一级) | 2018-12-28 09:38

@打代码的小超人: 你可以在用户登录之前给用户多添加一个参数client_type, 如何使用pc 端就将参数设为web ,app 就设为app,手机浏览器的就mobile。根据这个来判断连接数据呗。

支持(0) 反对(0) xiaobaiskill | 园豆:1122 (小虾三级) | 2018-12-28 09:59

后端是可以连接多个数据库的

支持(0) 反对(0) xiaobaiskill | 园豆:1122 (小虾三级) | 2018-12-28 10:02
0

如果能把问题说清楚了,其实答案就好找了。不知道你在说什么

会长 | 园豆:12463 (专家六级) | 2018-12-28 09:40
0

后台封装一个dbhelper类,构造函数里传一个参,根据不同的参数,dbhelper链接到不同的数据库。

顾星河 | 园豆:7281 (大侠五级) | 2018-12-28 09:41

可以做简单点,定义两个方法,根据连接字符串读不通的库
方法A:
DataTable res1 = SqlHelper.ExecuteDataset(数据库1的链接字符串, CommandType.Text, sql).Tables[0];
方法B:
DataTable res2 = SqlHelper.ExecuteDataset(数据库2的链接字符串, CommandType.Text, sql).Tables[0];

前端传递一个参数,if-else会写吧?根据你的业务需求读不同方法就可以了
var type=1;
if(type==1) { 方法A }
else if(type==2){ 方法B}
-------------------------------------
如果你的项目里没有SqlHelper帮助类,可以去网上找一个

支持(0) 反对(0) 顾星河 | 园豆:7281 (大侠五级) | 2018-12-28 09:58

@Rise-亟: 感谢你的回复,方便详细一点吗大佬

支持(0) 反对(0) 打代码的小超人 | 园豆:91 (初学一级) | 2018-12-28 10:05

@打代码的小超人: 楼下说的对,你先别管是啥库,先把数据调通,单库完整的做一遍。多库的无非就是加个参数,根据参数判断读那个接口,或者哪个方法罢了

支持(0) 反对(0) 顾星河 | 园豆:7281 (大侠五级) | 2018-12-28 10:23
0

如果是跟我一样的新手的话,我基本会花费一定时间,让他产一个page ,然后给page=1依次类推 ,但是这种方法只适合数据库表的数量比较少 相对于表多的话这个不实用

编程菜小鸟 | 园豆:239 (菜鸟二级) | 2018-12-28 09:44
0

可以通过访问的域名获取用户的cid 判别用户

5september | 园豆:203 (菜鸟二级) | 2018-12-28 10:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册