Maison > Article > base de données > 通过WEB服务器访问MYSQL,并且数据同步到android SQLite数据库
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实例如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>LoginServlet</servlet-name> <servlet-class>com.amaker.servlet.LoginServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UpdateMenuServlet</servlet-name> <url-pattern>/servlet/UpdateMenuServlet</url-pattern> </servlet-mapping></web-app>
2、为了方便对数据库验证信息的统一管理,在src目录下建一个DBConfig.properties文件。包含内容有:连接mysql数据库的驱动、url、用户名和密码。
driver=c
<span style="FONT-SIZE: 18px">driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/wirelessorder_db?useUnicode=true&characterEncoding=utf-8 username=root password=123</span>
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<menu> 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<menu> list = new ArrayList<menu>(); 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; } }</menu> </menu> </menu>
5、启动服务器,在浏览器中输入相应URL地址,可以把相应的SQLITE数据库导出来,用SQLITE数据库工具,查看数据库中Menu表的结果。
至此,大功告成。