微信公众平台开发(数据库连接)

来源:互联网 发布:淘宝店铺信用卡开通 编辑:程序博客网 时间:2024/04/25 09:50

       关于微信公众平台确实是个很好的东西,鉴于需要完成这样一个作业花了2天时间来研究这个,做出了一个简单的东西。


       我们选择的语言是JAVA(当然PHP开发这个更简单,不过我没学,考虑时间成本而继续用自己熟悉的),所用的服务器是SAE(BAE也可以),以及一个微信公众平台测试账号。http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,点击此处进入,用自己的微信扫描二维码就可以申请到一个测试号,高级接口都可以使用,仅仅用来测试是没有任何问题的。

       

       关于微信公众号的基础知识以及基础框架的搭建,请大家参考柳峰老师的博客:http://blog.csdn.net/lyq8479?viewmode=contents,非常全面,绝对可用。按照老师的代码就可以做出下图的效果:



       下面我主要说一下刘峰老师所没有的讲到的数据库连接的部分,我在网上查了不少资料结果越查越糊涂,折腾了好久,所以我特意把自己的悲催经历分享出来,让陷入此中的童鞋可以快速顿悟,以及给在学习的童鞋一个参考,不要误入歧途。


       我原本是在BAE通过简单的JDBC试过,但是可能某个地方失误,微信公众平台最大的缺点就是调试很困难,我花的时间不多,没找到什么调试的方法,悲催的无法成功,又不会调试,百度,看到很多通过request.get("...")或者BaeEnv.getBaeHeader(BaeEnv.BAE_ ENV_ADDR_SQL_IP)等方式获取host,port,username, password的文章,几乎全试过了,都不行。最终的结果却是这样简单,╮(╯▽╰)╭。


       其实很简单,就是和我们平常在本地连接数据库没有任何区别,下面直接贴代码,(SAE的):

import java.sql.Connection;import java.sql.SQLException;import java.sql.DriverManager;public class JDBCUtil {private String dbDriver = "com.mysql.jdbc.Driver"; // 与本地设置相同private String dbUrl = "jdbc:mysql://w.rdc.sae.sina.com.cn:3307/数据库名称"; // app_yanzel为新浪app数据库名称,开通mysql服务后,通过[服务管理]-〉[MySql]->[管理MySql]中,查看数据库名称private String dbUser = "新浪的access key"; // 为[应用信息]->[汇总信息]->[key]中的access keyprivate String dbPassword = "新浪的secret"; // 为[应用信息]->[汇总信息]->[key]中的secretpublic Connection createConnection() throws Exception {Connection connection = null;try {Class.forName(this.dbDriver);} catch (ClassNotFoundException e) {e.printStackTrace();throw e;}try {connection = DriverManager.getConnection(dbUrl, dbUser,dbPassword);} catch (SQLException e) {e.printStackTrace();throw e;}return connection;}}


BAE的数据库连接代码如下:

public class JDBCUtil {Connection conn = null ;private Connection getConn(){try {/*****1. 填写数据库相关信息(请查找数据库详情页)*****/String databaseName = "数据库名"; String host = "sqld.duapp.com";String port = "4050";String username = "用户名";//用户名(api key);String password = "用户密码";//密码(secret key)String driverName = "com.mysql.jdbc.Driver";String dbUrl = "jdbc:mysql://";String serverName = host + ":" + port + "/";String connName = dbUrl + serverName + databaseName; /******2. 接着连接并选择数据库名为databaseName的服务器******/try {Class.forName(driverName);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}conn = DriverManager.getConnection(connName, username, password);}catch(SQLException e){e.printStackTrace() ;}return conn;}/** * 关闭连接 * @param conn * @param stmt * @param rs * @throws Exception */private void close(Connection conn)throws Exception{if(conn != null){conn.close();conn=null ;}}}

        以上的代码就可以获取到Connection对象,然后在业务层中调用就可以了,之后就是CRUD操作。


        通过微信公众平台的开发,我们了解了这种新型的自媒体,确实很强大,而且也挺好玩,还有很多功能等待我们去探索。






2 0
原创粉丝点击