1. 程式人生 > >通過web伺服器訪問MYSQL資料庫,使其資料同步到android SQLite資料庫

通過web伺服器訪問MYSQL資料庫,使其資料同步到android SQLite資料庫

      通過web伺服器訪問MYSQL資料庫有以下幾個過程:

2、連線資料庫。

3、訪問資料庫

     過程2、3 具體步驟:

1、在Myeclipse下新建一個web專案,為了好統一管理在WEB-INF下建一個web.xml用來載入伺服器啟動時的配置資訊。這個檔案是由大量的<servlet></servlet>與<servlet-mapping></servlet-mapping>組成,這裡只做講解,

web.xml例項如下:

  1. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <
    web-appversion="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
  5.     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  6.     <servlet>
  7.         <servlet-name>LoginServlet</servlet-name>
  8.         <
    servlet-class>com.amaker.servlet.LoginServlet</servlet-class>
  9.     </servlet>
  10.     <servlet-mapping>
  11.         <servlet-name>UpdateMenuServlet</servlet-name>
  12.         <url-pattern>/servlet/UpdateMenuServlet</url-pattern>
  13.     </servlet-mapping>

2、為了方便對資料庫驗證資訊的統一管理,在src目錄下建一個DBConfig.properties檔案。包含內容有:連線mysql資料庫的驅動、url、使用者名稱和密碼。

  1. <span style="font-size:18px;">driver=com.mysql.jdbc.Driver  
  2. url=jdbc:mysql://localhost:3306/wirelessorder_db?useUnicode=true&characterEncoding=utf-8  
  3. username=root  
  4. password=123</span>  

3、連線資料庫:

      a、可以先在src目錄下建一個工具類DBUtil.java用於連線和關閉資料庫。具體程式碼如下。

  1. package com.amaker.util;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.SQLException;  
  5. import java.util.Properties;  
  6. /**  
  7.  *   
  8.  * @author BlackhorseMary   
  1. */  
  2. publicclass DBUtil {  
  3.     /* 
  4.      * 關閉資料庫連線 
  5.      */
  6.     publicvoid closeConn(Connection conn){  
  7.         try {  
  8.             conn.close();  
  9.         } catch (SQLException e) {  
  10.             e.printStackTrace();  
  11.         }  
  12.     }  
  13.     /* 
  14.      * 開啟資料庫連線 
  15.      */
  16.     public Connection openConnection() {  
  17.         Properties prop = new Properties();  
  18.         String driver = null;  
  19.         String url = null;  
  20.         String username = null;  
  21.         String password = null;  
  22.         try {  
  23.             prop.load(this.getClass().getClassLoader().getResourceAsStream(  
  24.                     "DBConfig.properties"));  
  25.             driver = prop.getProperty("driver");  
  26.             url = prop.getProperty("url");  
  27.             username = prop.getProperty("username");  
  28.             password = prop.getProperty("password");  
  29.             Class.forName(driver);  
  30.             return DriverManager.getConnection(url, username, password);  
  31.         } catch (Exception e) {  
  32.             e.printStackTrace();  
  33.         }  
  34.         returnnull;  
  35.     }  
  36. }  


   b、再在src目錄下新建一個Menu.java,用於設定獲取其屬性。

  1. package com.amaker.entity;  
  2. publicclass Menu {  
  3.     privateint id;  
  4.     privateint price;  
  5.     privateint typeId;  
  6.     private String name;  
  7.     private String pic;  
  8.     private String remark;  
  9.     publicint getId() {  
  10.         return id;  
  11.     }  
  12.     publicvoid setId(int id) {  
  13.         this.id = id;  
  14.     }  
  15.     public String getName() {  
  16.         return name;  
  17.     }  
  18.     publicvoid setName(String name) {  
  19.         this.name = name;  
  20.     }  
  21.     public String getPic() {  
  22.         return pic;  
  23.     }  
  24.     publicvoid setPic(String pic) {  
  25.         this.pic = pic;  
  26.     }  
  27.     publicint getPrice() {  
  28.         return price;  
  29.     }  
  30.     publicvoid setPrice(int price) {  
  31.         this.price = price;  
  32.     }  
  33.     public String getRemark() {  
  34.         return remark;  
  35.     }  
  36.     publicvoid setRemark(String remark) {  
  37.         this.remark = remark;  
  38.     }  
  39.     publicint getTypeId() {  
  40.         return typeId;  
  41.     }  
  42.     publicvoid setTypeId(int typeId) {  
  43.         this.typeId = typeId;  
  44.     }  
  45. }  


4、在src下建一個update.java類用於執行同步,即更新android SQLites資料庫中的資料(前提是SQLite資料庫裡面有對應的Menu表)。

  1. /** 
  2.  * @author BlackhorseMary 
  3.  *  完成更新SQLite資料功能 
  4.  */
  5. publicclass Update {  
  6.     // 獲得選單列表
  7.     public List<Menu> getMenuList() {  
  8.         // 查詢SQL語句
  9.         String sql =" select id,typeId,price,name,pic,remark from MenuTbl ";  
  10.         // 資料庫連線工具類
  11.         DBUtil util = new DBUtil();  
  12.         // 獲得連線
  13.         Connection conn = util.openConnection();  
  14.         try {  
  15.             // 獲得預定義語句
  16.             Statement pstmt = conn.createStatement();  
  17.             // 執行查詢
  18.             ResultSet rs = pstmt.executeQuery(sql);  
  19.             // 判斷訂單詳細
  20.             List<Menu> list = new ArrayList<Menu>();  
  21.             while (rs.next()) {  
  22.                 // 獲得選單資訊
  23.                 int id = rs.getInt(1);  
  24.                 int typeId = rs.getInt(2);  
  25.                 int price = rs.getInt(3);  
  26.                 String name = rs.getString(4);  
  27.                 String pic = rs.getString(5);  
  28.                 String remark = rs.getString(6);  
  29. 相關推薦

    怎麼通過web伺服器訪問MYSQL資料庫使資料同步android SQLite資料庫

          通過web伺服器訪問MYSQL資料庫有以下幾個過程: 2、連線資料庫。 3、訪問資料庫      過程2、3 具體步驟: 1、在Myeclipse下新建一個web專案,為了好統一管理在WEB-INF下建一個web.xml用來載入伺服器啟動時的配置資訊。這

    通過web伺服器訪問MYSQL資料庫使資料同步android SQLite資料庫

          通過web伺服器訪問MYSQL資料庫有以下幾個過程: 2、連線資料庫。 3、訪問資料庫      過程2、3 具體步驟: 1、在Myeclipse下新建一個web專案,為了好統一管理在WEB-INF下建一個web.xml用來載入伺服器啟動時的配

    通過WEB伺服器訪問MYSQL並且資料同步android SQLite資料庫

    2、連線資料庫。 3、訪問資料庫      過程2、3 具體步驟: 1、在Myeclipse下新建一個web專案,為了好統一管理在WEB-INF下建一個web.xml用來載入伺服器啟動時的配置資訊。這個檔案是由大量的<servlet></servle

    通過web伺服器訪問MySQL資料庫並把資料庫中的某張表解析成xml格式輸出到瀏覽器

    可以先想象一下,客戶端用到遠端資料庫中的資訊比如Menu表中的資訊,怎麼獲取呢?可以通過web伺服器獲取。這就需要寫一個繼承 HttpServlet的抽象類,並且重寫doGet()和doPost()方法。    下面就是此類的具體實現: public class Updat

    讓兩臺伺服器MySQL(5.7)資料同步_主主同步(互為主從關係)

    網上找的大部分定義master-host的其實在新的MySQL中已經停用了,於是乎很悲劇的自己探索寫出了這麼一個東西 RedHat版本7.0 MySQL版本 5.7 伺服器名稱為假的!!!伺服器名稱為假的!!!伺服器名稱為假的!!! 重要事情說三遍~ 另外需要注意的是,你同

    解決 web伺服器部署常見問題server application unavailable 和 程式無法連線資料庫 的問題(asp.net 2.0 + oracle9i + winXP)

    部署時出現以下錯誤: server application unavailable the web application you are attempting to access on this web server is currently unavailable. pl

    通過ssh隧道訪問mysql包括免密碼操作

    我的機器可以連線伺服器A,A可以訪問伺服器B上的MySQL,但是我的機器不能訪問B,所以我需要建立一個我本地機器到伺服器A的ssh隧道來訪問伺服器B上的mysql。 理一下思路: 1.我要ssh的伺服器是111.112.113.114,埠是5122,賬戶名是w

    mysql修改表字段編碼使支持emoji表情

    exception .sql var blog odi utf use pan cor 普通的UTF8編碼是不支持emoji表情插入的,會報異常: Caused by: java.sql.SQLException: Incorrect string value: ‘\xF

    【C語言】對一個n*n矩陣通過行變換使每行元素的平均值按遞增順序排序

    #include<stdio.h> int main() { int n,a[100][100],r,c,i,j; scanf("%d",&n); for(i=0;i<n;i++) { for(j=0;j<n;j++) scanf("%d",&am

    易語言如何連線遠端伺服器上的資料庫並讀取資料

    用易語言來連線遠端伺服器上的資料庫,可以使用支援庫中的方法。 連線資料庫方法名: 連線mysql(伺服器地址,使用者名稱,密碼,資料庫名,埠號) 注意:連線mysql()這個方法名,如果沒有,單擊工具欄中的 工具--->支援庫配置  然後全選,確定匯入。這時有這個

    web程式傳遞引數新增web伺服器的配置檔案新增shell功能----03

    傳遞埠號 如果埠號在伺服器裡面寫死的話,那麼別人拿到伺服器,如果寫死的埠被佔用,那麼伺服器就沒用了,所以我們需要傳遞一個活動的埠號,具體方法就是匯入sys模組,用sys.argv來接受,程式碼如下 def main(): """ 控制整體,建立一個web伺服器物件,然

    通過ssh隧道訪問mysql

    許多時候當要使用Mysql時,會遇到如下情況: 1. 資訊比較重要,希望通訊被加密。 2. 一些埠,比如3306埠,被路由器禁用。 對第一個問題的一個比較直接的解決辦法就是更改mysql的程式碼,或者是使用一些證書,不過這種辦法顯然不是很簡單。 這裡要介紹另外一種方法,就是利用SSH通

    【轉】Sqlserver通過連結伺服器訪問Oracle的解決辦法

    一、建立sqlserver連結服務(sqlserver連結oracle)  首先sqlserver 連結oracle可以通過兩個訪問介面: “MSDAORA” 和“OraOLEDB.Oracle” 1、“MSDAORA”訪問介面是由Microsoft OLE DB Provider for O

    Js動態追加行並將內容儲存到資料庫並取出資料通過js動態顯示

    實現步驟講解: 首先需要在html頁面建立一個table表格和一個動態新增行的按鈕 <input type="button" onclick="addT()" value="新增" /> 然後實現表格中追加行的js方法 //新增動態行(可在實現的列中新增相應的滑鼠事

    解決內網通過代理伺服器訪問外網部署WebService報錯問題“請求因 HTTP 狀態 407 失敗”

    具體情況如下:在外網的伺服器上部署了一個Web Service,由於公司網路原因,僅能通過內網穿過代理伺服器來訪問外網的Web Service。在新增外網的Web Service時,出現了提示視窗,如下圖:    提示輸入公司內網域的使用者名稱和密碼。我輸入了自己的使用者名稱和密碼,正常新增引用。然後在呼叫時

    事件ID 18456:使用者登入失敗。 原因: 基於令牌的伺服器訪問驗證失敗出現基礎結構錯誤

    事件型別:稽核失敗 事件來源:MSSQLSERVER 事件種類:登入  事件 ID:18456 日期:2015-4-22 事件:11:11:21 使用者:域\計算機名 計算機:域 描述: 使用者 '域\計算機名$' 登入失敗。 原因: 基於令牌的伺服器訪問驗證失敗,出現基礎

    linux定時備份mysql資料庫及解決crontab執行時生成資料庫檔案為空的問題

    一、用命令實現備份 進入mysql的bin目錄(mysql安裝目錄的下一級目錄) 1、備份資料 #mysqldump -uusername -ppassword discuz >discuz_2010-04-01.sql -uusernae:-u+mysql的使用者名

    Mysql建立create_time跟update_time欄位使自動存值。

    建立語句如下: ALTER TABLE table_name ADD COLUMN create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP, ADD COLUMN update_time timesta

    修改(python) mysql 資料庫 使可以支援插入中文

    先建立一個數據庫,名字叫xsk #!/usr/bin/python # -*- coding:utf-8 -*- import MySQLdb # 開啟資料庫連線(本機,使用者,密碼,資料庫名) d

    通過代理伺服器訪問SFTP問題解決

    通過代理伺服器訪問SFTP報如下錯誤: Caused by: com.jcraft.jsch.JSchException: ProxyHTTP: java.io.IOException: proxy error: Forbidden 環境說明: 1、代理伺