微信公眾平台開發(數據庫連接)


       關於微信公眾平台確實是個非常好的東西,鑒於須要完畢這樣一個作業花了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操作。


        通過微信公眾平台的開發,我們了解了這樣的新型的自媒體,確實非常強大,並且也挺好玩,還有非常多功能等待我們去探索。







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM