欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

通过WEB服务器访问MYSQL,并且数据同步到android SQLite数据库

程序员文章站 2022-05-21 09:57:43
...

http://blog.csdn.net/Mary881225 1、创建MYSQL数据库,并建表(如:menu表)。 2、连接数据库。 3、访问数据库 过程2、3 具体步骤: 1、在Myeclipse下新建一个web项目,为了好统一管理在WEB-INF下建一个web.xml用来加载服务器启动时的配置信息。这个文件是

http://blog.csdn.net/Mary881225

1、创建MYSQL数据库,并建表(如:menu表)。

2、连接数据库。

3、访问数据库

过程2、3 具体步骤:

1、在Myeclipse下新建一个web项目,为了好统一管理在WEB-INF下建一个web.xml用来加载服务器启动时的配置信息。这个文件是由大量的组成,这里只做讲解,

web.xml实例如下:

LoginServletcom.amaker.servlet.LoginServletUpdateMenuServlet/servlet/UpdateMenuServlet

2、为了方便对数据库验证信息的统一管理,在src目录下建一个DBConfig.properties文件。包含内容有:连接mysql数据库的驱动、url、用户名和密码。

driver=c

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/wirelessorder_db?useUnicode=true&characterEncoding=utf-8
username=root
password=123

3、连接数据库:

a、可以先在src目录下建一个工具类DBUtil.java用于连接和关闭数据库。具体代码如下。

package com.amaker.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

/**
 * 
 * @author BlackhorseMary 
*/
public class DBUtil {
	
	/*
	 * 关闭数据库连接
	 */
	public void closeConn(Connection conn){
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	/*
	 * 打开数据库连接
	 */
	public Connection openConnection() {
		Properties prop = new Properties();
		String driver = null;
		String url = null;
		String username = null;
		String password = null;

		try {
			prop.load(this.getClass().getClassLoader().getResourceAsStream(
					"DBConfig.properties"));

			driver = prop.getProperty("driver");
			url = prop.getProperty("url");
			username = prop.getProperty("username");
			password = prop.getProperty("password");
			
			Class.forName(driver);
			return DriverManager.getConnection(url, username, password);
		} catch (Exception e) {
			e.printStackTrace();
		}

		return null;
	}

}

b、再在src目录下新建一个Menu.java,用于设置获取其属性。

package com.amaker.entity;

public class Menu {
	private int id;
	private int price;
	private int typeId;
	private String name;
	private String pic;
	private String remark;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPic() {
		return pic;
	}
	public void setPic(String pic) {
		this.pic = pic;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public int getTypeId() {
		return typeId;
	}
	public void setTypeId(int typeId) {
		this.typeId = typeId;
	}
	
}


4、在src下建一个update.java类用于执行同步,即更新android SQLites数据库中的数据(前提是SQLite数据库里面有对应的Menu表)。

/**
 * @author BlackhorseMary
 *	完成更新SQLite数据功能
 */
public class Update {
	// 获得菜单列表
	public List getMenuList() {
		// 查询SQL语句
		String sql =" select id,typeId,price,name,pic,remark from MenuTbl ";
		// 数据库连接工具类
		DBUtil util = new DBUtil();
		// 获得连接
		Connection conn = util.openConnection();
		try {
			// 获得预定义语句
			Statement pstmt = conn.createStatement();
			// 执行查询
			ResultSet rs = pstmt.executeQuery(sql);
			// 判断订单详细
			List list = new ArrayList();
			while (rs.next()) {
				// 获得菜单信息
				
				int id = rs.getInt(1);
				int typeId = rs.getInt(2);
				int price = rs.getInt(3);
				String name = rs.getString(4);
				String pic = rs.getString(5);
				String remark = rs.getString(6);
				
				Menu m = new Menu();
				m.setId(id);
				m.setName(name);
				m.setPic(pic);
				m.setPrice(price);
				m.setRemark(remark);
				m.setTypeId(typeId);
				
				list.add(m);
			}
			return list;
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			util.closeConn(conn);
		}
		return null;
	}
	
}

5、启动服务器,在浏览器中输入相应URL地址,可以把相应的SQLITE数据库导出来,用SQLITE数据库工具,查看数据库中Menu表的结果。

至此,大功告成。