目的:
实现多数据源的配置访问。
配置文件示例:
<id="querycodedict" ds="sysds"> select * from code_dict</id>
本文并没有使用此配置文件进行模拟,但整个过程完全相似,如果以此配置文件为准,需要编写对此文件的解析过程
服务器:
tomcat5.5
数据库:
mysql5.0
准备:
建立两个数据库
数据库1:javatest
mysql> GRANT ALL PRIVILEGES ON *.* TO javauser@localhost IDENTIFIED BY 'javadude' WITH GRANT OPTION; mysql> create database javatest; mysql> use javatest; mysql> create table testdata ( -> id int not null auto_increment primary key, -> foo varchar(25), -> bar int);mysql> insert into testdata values(null, 'hello', 12345); Query OK, 1 row affected (0.00 sec) mysql> select * from testdata; +----+-------+-------+ | ID | FOO | BAR | +----+-------+-------+ | 1 | hello | 12345 | +----+-------+-------+ 1 row in set (0.00 sec) mysql>数据库2:systestmysql> GRANT ALL PRIVILEGES ON *.* TO sysuser@localhost IDENTIFIED BY 'javadude' WITH GRANT OPTION;
Query OK, 0 rows affected (0.06 sec)mysql> create database systest;
Query OK, 1 row affected (0.02 sec)mysql> use systest;
Database changed
mysql> create table code_dict(
-> id int not null auto_increment primary key,
-> foo varchar(25),
-> bar int);
Query OK, 0 rows affected (0.14 sec)mysql> insert into code_dict values(null, 'hello', 12345);
Query OK, 1 row affected (0.05 sec)mysql> select * from code_dict;
+----+-------+-------+
| id | foo | bar |
+----+-------+-------+
| 1 | hello | 12345 |
+----+-------+-------+
1 row in set (0.00 sec)mysql>编写配置文件:tomcat家目录下有conf文件夹,其中有一个context.xml文件配置如下:添加jbdc驱动:tomcat家目录下有common文件夹,将mysq驱动放入其中的lib下编写代码测试:建立一个web工程,编写一个servlet进行测试web.xml文件配置如下:编写java代码,JNDIBinding类中的代码在servlet中doGet方法中调用在地址栏中输入以下内容http://localhost:8081/DBTest/servlet/JNDIServlet?name=123运行后中控制台中可以看到查询结果
另特别说明:
此过程中遇到过找不到驱动问题,最后看官方文档发现驱动应该放在common目录下的lib下,如在网上找贴学习,此错误容易遇到