JAVA JDBC 连接Mysql 更新数据 双表查询更新
2014-12-25 22:27
609 查看
package com.test.json; package com.test.javahome; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; public class DataBaseTest { private static final String TABLE_01 = "dizhi2"; private static final String TABLE_02 = "real_480"; public static Connection getConnection() throws SQLException, java.lang.ClassNotFoundException { // 第一步:加载MySQL的JDBC的驱动 Class.forName("com.mysql.jdbc.Driver"); // 取得连接的url,能访问MySQL数据库的用户名,密码;studentinfo:数据库名 String url = "jdbc:mysql://localhost:3306/wumigen"; String username = "root"; String password = "qwert"; // 第二步:创建与MySQL数据库的连接类的实例 System.out.println("main ==============begin2"); Connection con = DriverManager.getConnection(url, username, password); System.out.println("main ==============begin3"); return con; } public static void main(String args[]) { try { System.out.println("main ==============begin"); Connection con = getConnection(); System.out.println("main ==============begin4"); Statement sql_statement = con.createStatement(); String query1 = "select * from "+TABLE_01; String query2 = "select * from "+TABLE_02; System.out.println("query1 ==============begin"); ResultSet result = sql_statement.executeQuery(query1); ArrayList<px> pxlist = new ArrayList<px>(); while (result.next()) { PX p1 = new PX(); p1.type = result.getString(2); p1.number = result.getString(3); p1.img_320 = result.getString(4); pxlist.add(p1); } System.out.println("query1 ==============end, size = " + pxlist.size()); System.out.println("query2 ==============begin"); ResultSet result2 = sql_statement.executeQuery(query2); ArrayList<py> pylist = new ArrayList<py>(); while (result2.next()) { PY p2 = new PY(); p2.number = result2.getString(2); p2.img_480 = result2.getString(3); pylist.add(p2); } for (int i = 0; i < pxlist.size(); i++) { for (int j = 0; j < pylist.size(); j++) { if (pylist.get(j).number == pxlist.get(i).number) { pxlist.get(i).img_480 = pylist.get(j).img_480; } } if (pxlist.get(i).img_320.length() == 0) { System.out.println("=========null " + pxlist.get(i).number); } else { String updateSql = "update "+TABLE_01+" set img_480='" + pxlist.get(i).img_480+ "' where number='"+ pxlist.get(i).number + "'"; System.out.println("begin to update ==> "+i); sql_statement.execute(updateSql); } } System.out.println("query2 ==============end, size = " + pylist.size()); sql_statement.close(); con.close(); System.out.println("=========end "); } catch (java.lang.ClassNotFoundException e) { System.err.print("ClassNotFoundException"); System.err.println(e.getMessage()); } catch (SQLException ex) { ex.printStackTrace(); System.err.println("SQLException: " + ex.getMessage()); } } } class PX { String type; String number; String img_320; String img_480; } class PY { String number; String img_480; } </py></py></px></px>
相关文章推荐
- mysql 常用命令,连接数据库,查看建表语句,批量导入数据,批量更新数据,连接查询
- MySQL的随机数、MySQ随机选取数据、MySQ随机查询数据、MySQ随机更新数据 收藏
- mysql数据库子查询、连接查询——2014.5.27
- PHP 中MySQL 连接,查询,更新操作
- mysql 自连接查询数据
- mysql 连接查询指的是将两张表或多张表关联到一起进行查询,获取一个表的行与另一个表的行匹配的数据。常见的连接查询包括内连接(等值连接)、左(外)连接、右(外)连接和交叉连接(完全连接)等
- Mysql子查询,连接,多表更新
- MySQL 随机查询数据与随机更新数据实现代码
- JDBC-连接mysql查询数据时中文为空解决办法
- MYSQL 查询注册7日内无登陆,随后有登陆操作,连接查询,组查询,AND OR优先级,数据表别名
- php使用mysql和mysqli连接查询数据
- MYSQL 第五章 子查询,多表更新,外连接,左连接,右连接,内连接,多表连接,无限级分类表设计,多表删除
- c/c++ 连接mysql,并进行数据查询
- ThinkPHP3.2.3---mysql+ajax实现长连接,实时监测数据库数据是否更新
- MySQL 随机查询数据与随机更新数据实现代码
- python连接mysql 查询数据
- c/c++ 连接mysql,并进行数据查询
- mysql 控制台环境下查询中文数据乱码,插入、更新中文数据不成功
- java连接MYSQL及查询数据记录
- MySQL 入门 之 数据的插入、查询、更新与删除