通过web服务器访问MYSQL数据库有以下几个过程:
1、在MySql下创建自己的数据库和自己的表单
2、连接数据库。
3、访问数据库
1、创建web工程 (服务器端)
在Myeclipse下新建一个web项目,为了好统一管理在WEB-INF下建一个web.xml用来加载服务器启动时的配置信息。这个文件是由大量的<servlet></servlet>与<servlet-mapping></servlet-mapping>组成,这里只做讲解,
web.xml实例如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="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 7 <servlet> 8 <servlet-name>LoginServlet</servlet-name> 9 <servlet-class>com.amaker.servlet.LoginServlet</servlet-class> 10 </servlet> 11 12 <servlet-mapping> 13 <servlet-name>UpdateMenuServlet</servlet-name> 14 <url-pattern>/servlet/UpdateMenuServlet</url-pattern> 15 </servlet-mapping>
2、为了方便对数据库验证信息的统一管理,在src目录下建一个DBConfig.properties文件。包含内容有:连接mysql数据库的驱动、url、用户名和密码。
1 driver=com.mysql.jdbc.Driver 2 url=jdbc:mysql://localhost:3306/wirelessorder_db?useUnicode=true&characterEncoding=utf-8 3 username=rootpassword=123
3、连接数据库
a、可以先在src目录下建一个工具类DBUtil.java用于连接和关闭数据库。具体代码如下。
1 package com.amaker.util; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.SQLException; 6 import java.util.Properties; 7 8 /** 9 * 10 * @author BlackhorseMary 11 */ 12 public class DBUtil { 13 14 /* 15 * 关闭数据库连接 16 */ 17 public void closeConn(Connection conn){ 18 try { 19 conn.close(); 20 } catch (SQLException e) { 21 e.printStackTrace(); 22 } 23 } 24 25 /* 26 * 打开数据库连接 27 */ 28 public Connection openConnection() { 29 Properties prop = new Properties(); 30 String driver = null; 31 String url = null; 32 String username = null; 33 String password = null; 34 35 try { 36 prop.load(this.getClass().getClassLoader().getResourceAsStream( 37 "DBConfig.properties")); 38 39 driver = prop.getProperty("driver"); 40 url = prop.getProperty("url"); 41 username = prop.getProperty("username"); 42 password = prop.getProperty("password"); 43 44 Class.forName(driver); 45 return DriverManager.getConnection(url, username, password); 46 } catch (Exception e) { 47 e.printStackTrace(); 48 } 49 50 return null; 51 } 52 53 }
b、再在src目录下新建一个Menu.java,用于设置获取其属性。
1 package com.amaker.entity; 2 3 public class Menu { 4 private int id; 5 private int price; 6 private int typeId; 7 private String name; 8 private String pic; 9 private String remark; 10 11 public int getId() { 12 return id; 13 } 14 public void setId(int id) { 15 this.id = id; 16 } 17 public String getName() { 18 return name; 19 } 20 public void setName(String name) { 21 this.name = name; 22 } 23 public String getPic() { 24 return pic; 25 } 26 public void setPic(String pic) { 27 this.pic = pic; 28 } 29 public int getPrice() { 30 return price; 31 } 32 public void setPrice(int price) { 33 this.price = price; 34 } 35 public String getRemark() { 36 return remark; 37 } 38 public void setRemark(String remark) { 39 this.remark = remark; 40 } 41 public int getTypeId() { 42 return typeId; 43 } 44 public void setTypeId(int typeId) { 45 this.typeId = typeId; 46 } 47 48 }
1 /** 2 * @author BlackhorseMary 3 * 完成更新SQLite数据功能 4 */ 5 public class 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 24 int id = rs.getInt(1); 25 int typeId = rs.getInt(2); 26 int price = rs.getInt(3); 27 String name = rs.getString(4); 28 String pic = rs.getString(5); 29 String remark = rs.getString(6); 30 31 Menu m = new Menu(); 32 m.setId(id); 33 m.setName(name); 34 m.setPic(pic); 35 m.setPrice(price); 36 m.setRemark(remark); 37 m.setTypeId(typeId); 38 39 list.add(m); 40 } 41 return list; 42 } catch (SQLException e) { 43 e.printStackTrace(); 44 } finally { 45 util.closeConn(conn); 46 } 47 return null; 48 } 49 50 }
4、在src下建一个update.java类用于执行同步,即更新android SQLites数据库中的数据(前提是SQLite数据库里面有对应的Menu表)。
5、启动服务器,在浏览器中输入相应URL地址,可以把相应的SQLITE数据库导出来,用SQLITE数据库工具,查看数据库中Menu表的结果。
至此,大功告成。