關于微信公眾平臺確實是個很好的東西,鑒于需要完成這樣一個作業(yè)花了2天時間來研究這個,做出了一個簡單的東西。
我們選擇的語言是JAVA(當然PHP開發(fā)這個更簡單,不過我沒學,考慮時間成本而繼續(xù)用自己熟悉的),所用的服務器是SAE(BAE也可以),以及一個微信公眾平臺測試賬號。http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,點擊此處進入,用自己的微信掃描二維碼就可以申請到一個測試號,高級接口都可以使用,僅僅用來測試是沒有任何問題的。 關于微信公眾號的基礎知識以及基礎框架的搭建,請大家參考柳峰老師的博客:http://blog.csdn.net/lyq8479?viewmode=contents,非常全面,絕對可用。按照老師的代碼就可以做出下圖的效果:
下面我主要說一下劉峰老師所沒有的講到的數(shù)據(jù)庫連接的部分,我在網(wǎng)上查了不少資料結果越查越糊涂,折騰了好久,所以我特意把自己的悲催經(jīng)歷分享出來,讓陷入此中的童鞋可以快速頓悟,以及給在學習的童鞋一個參考,不要誤入歧途。
我原本是在BAE通過簡單的JDBC試過,但是可能某個地方失誤,微信公眾平臺最大的缺點就是調試很困難,我花的時間不多,沒找到什么調試的方法,悲催的無法成功,又不會調試,百度,看到很多通過request.get("...")或者BaeEnv.getBaeHeader(BaeEnv.BAE_ ENV_ADDR_SQL_IP)等方式獲取host,port,username, password的文章,幾乎全試過了,都不行。最終的結果卻是這樣簡單,╮(╯▽╰)╭。
其實很簡單,就是和我們平常在本地連接數(shù)據(jù)庫沒有任何區(qū)別,下面直接貼代碼,(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/數(shù)據(jù)庫名稱"; // app_yanzel為新浪app數(shù)據(jù)庫名稱,開通mysql服務后,通過[服務管理]-〉[MySql]->[管理MySql]中,查看數(shù)據(jù)庫名稱
- private String dbUser = "新浪的access key";
- private String dbPassword = "新浪的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的數(shù)據(jù)庫連接代碼如下:
- public class JDBCUtil {
-
- Connection conn = null ;
-
- private Connection getConn(){
-
- try {
-
- String databaseName = "數(shù)據(jù)庫名";
- String host = "sqld.duapp.com";
- String port = "4050";
- String username = "用戶名";
- String password = "用戶密碼";
- String driverName = "com.mysql.jdbc.Driver";
- String dbUrl = "jdbc:mysql://";
- String serverName = host + ":" + port + "/";
- String connName = dbUrl + serverName + databaseName;
-
-
- try {
- Class.forName(driverName);
- } catch (ClassNotFoundException e) {
-
- e.printStackTrace();
- }
- conn = DriverManager.getConnection(connName, username, password);
- }catch(SQLException e){
- e.printStackTrace() ;
- }
- return conn;
- }
-
-
-
-
-
-
-
- private void close(Connection conn)throws Exception{
- if(conn != null){
- conn.close();
- conn=null ;
- }
- }
- }
以上的代碼就可以獲取到Connection對象,然后在業(yè)務層中調用就可以了,之后就是CRUD操作。
通過微信公眾平臺的開發(fā),我們了解了這種新型的自媒體,確實很強大,而且也挺好玩,還有很多功能等待我們去探索。
|