当前位置:首页 > 问答 > 正文

用webservice连接数据库怎么弄,教你一步步轻松搞定访问操作示例

要弄一个WebService来连接数据库,听起来好像很复杂,但其实就像教一个会说话的信使(WebService)去一个有很多文件的仓库(数据库)里帮你取东西或者存东西,你不用自己去仓库,只要告诉信使你要干什么,它就会帮你办好,下面我就一步步告诉你这个信使是怎么训练出来的,我们用一个简单的例子,比如一个查询用户信息的服务。

你得准备好环境,就像盖房子需要地基和工具一样,你需要一个能运行Java程序的服务器,比如Tomcat,还需要数据库,这里我们用最常见的MySQL来举例,你得先在电脑上安装好MySQL,并且创建一个数据库,比如叫“test_db”,里面有一张用户表“user_table”,表里有比如ID、姓名、年龄这几个字段,这些准备工作是第一步,一定要先做好。(来源:常见的WebService开发前置条件)

环境准备好了,接下来要创建我们的WebService项目,这里我们用Java来写,因为它的相关技术比较成熟和普遍,你可以用一个叫Eclipse或者IntelliJ IDEA的软件来写代码,这些软件能帮你管理项目,新建一个叫“Dynamic Web Project”(动态Web项目),这就好比为你信使的工作准备了一个专门的办公室。(来源:基于Java的WebService项目创建步骤)

用webservice连接数据库怎么弄,教你一步步轻松搞定访问操作示例

办公室有了,信使不能空手去仓库啊,他得知道怎么跟仓库管理员打交道,我们需要一个连接数据库的工具,这就是JDBC驱动程序,你可以把它想象成信使和仓库管理员之间的“方言手册”,你需要去MySQL的官网下载一个叫“MySQL Connector/J”的jar包,然后把这个jar包放到你项目的“WebContent/WEB-INF/lib”这个文件夹里,这样,你的项目就知道怎么跟MySQL数据库说话了。(来源:JDBC驱动的作用与配置方法)

核心部分来了,我们要编写信使的“大脑”——也就是WebService的实现代码,我们在项目里新建一个Java类,可以叫它“UserInfoService”,在这个类里,我们要写一个方法,比如叫“getUserById”,这个方法接收一个用户ID作为参数,然后返回这个用户的信息。

用webservice连接数据库怎么弄,教你一步步轻松搞定访问操作示例

这个方法里面具体要做三件事: 第一件事,连接数据库,就像信使要先走到仓库门口一样,代码里要用JDBC的语句,告诉程序数据库在哪里(地址)、仓库名(数据库名)、以及进门的密码(用户名和密码),代码看起来会是这个样子:Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db", "用户名", "密码"); 第二件事,执行查询,信使连接上数据库后,就要说出他的请求,代码里会创建一个“声明”(Statement),然后写下SQL查询语句,SELECT * FROM user_table WHERE id = ?”,这里的问号就是我们传进来的那个用户ID,然后执行这个查询。 第三件事,处理结果,数据库管理员会把查到的结果(一个结果集ResultSet)给信使,信使需要看懂这个结果并记下来,在代码里,就是遍历这个结果集,把里面的数据取出来,放到一个用户对象里或者直接组织成一段字符串。(来源:WebService方法中连接与查询数据库的基本代码结构)

光有大脑还不够,我们得告诉外界,我们这里有这么一个能干活的信使,这就需要将我们的Java类发布成WebService,一个很简单的方法是使用JAX-WS注解,你只需要在你写的那个“UserInfoService”类的开头,加上一句“@WebService”,然后在那个“getUserById”方法上也加上类似的注解,这样,当你把整个项目部署到Tomcat服务器上并启动后,服务器就会自动识别这个类是一个WebService,并生成一个外界可以访问的地址,这个过程就像是给信使挂上了一个招牌,上面写着“此处提供查询用户信息服务”。(来源:使用JAX-WS注解发布WebService的简易步骤)

信使已经开始营业了,最后一步就是测试他工作得怎么样,我们需要一个客户来下单,你可以写一个简单的Java客户端程序,或者使用一些专门的测试工具,比如Postman,在测试工具里,你需要输入你WebService的访问地址(URL),然后选择调用的方法“getUserById”,并传入一个测试的ID值,1”,点击发送后,如果你的每一步都做对了,你应该就能收到从数据库里查出来的、ID为1的那个用户的信息,可能是XML格式的,这就证明你的信使成功地去仓库取回了你要的东西,整个WebService连接和操作数据库的过程就圆满成功了。(来源:WebService客户端的调用与测试方法)

整个过程就像训练一个信使:准备环境和工具 -> 建立项目办公室 -> 配备数据库方言手册(JDBC驱动)-> 编写信使的大脑(服务实现类)-> 挂上招牌发布服务 -> 最后客户测试下单,每一步都不难,只要耐心跟着做,你就能轻松搞定一个能访问数据库的WebService。