zoukankan      html  css  js  c++  java
  • 微信公众平台开发(数据库连接)

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


           我们选择的语言是JAVA(当然PHP开发这个更简单。只是我没学,考虑时间成本而继续用自己熟悉的)。所用的server是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的文章,差点儿全试过了,都不行。

    终于的结果却是这样简单。╮(╯▽╰)╭。



           事实上非常easy,就是和我们寻常在本地连接数据库没有不论什么差别,以下直接贴代码,(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 key
    	private String dbPassword = "新浪的secret"; // 为[应用信息]->[汇总信息]->[key]中的secret
    
    	public 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 block
    				e.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操作。


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






  • 相关阅读:
    201621123058《java程序设计》第八周学习总结
    201621123058《java程序设计》第七周学习总结
    201621123058《java程序设计》第六周学习总结
    201621123058《java程序设计》第五周学习总结
    关于HTK工具下载安装的问题
    load 和 loads的区别
    flask 数据库操作
    flask 计数器
    flask form表单
    flask 宏,继承和包含
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5166554.html
Copyright © 2011-2022 走看看