数据库表转换方法(省市县三表关联转存一表)

mysql数据库中有两个数据库A和B。A数据库中有三张关联的表省,市,县。B数据中有一张地区表(id,name)。

要求:将A数据库中的三张表,转换填充到B数据库的地区表中,格式xxxx表示省,xxxxyyyy表示市,xxxxyyyyzzzz表示县。

	public static void main(String[] args) {
		
		CityTypeDaoImpl cityTypeDaoImpl = new CityTypeDaoImpl();
		 // 驱动程序名
        String driver = "com.mysql.jdbc.Driver";

        // URL指向要访问的数据库名
        String mysqlurl = "jdbc:mysql://127.0.0.1:3306/A";

        // MySQL配置时的用户名
        String user = "xxx"; 

        // MySQL配置时的密码
        String password = "*****";
         
        Connection mysqlConn= null;
        Statement mysqlStmt = null;
        Statement mysqlStmt2 = null;
        Statement mysqlStmt3 = null;
        ResultSet mysqlrs = null;
        ResultSet mysqlrs2 = null;
        ResultSet mysqlrs3 = null;
               
      //链接**********************mysql开始***********************************
        try {
			Class.forName(driver);
			mysqlConn = DriverManager.getConnection(mysqlurl, user, password);
			mysqlStmt = mysqlConn.createStatement();
			// String sql = "INSERT INTO ql_about VALUES (值1, 值2,....)";
			 //mysqlrs = mysqlStmt.executeQuery(sql);
			 
			 //while(mysqlrs.next()) {
				 //System.out.println(mysqlrs.getString("d0001"));
			// }
			 
		} catch (Exception e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
		 String sql = "SELECT * FROM 省";
		 try {
			mysqlStmt = mysqlConn.createStatement();
			mysqlStmt2 = mysqlConn.createStatement();
			mysqlStmt3 = mysqlConn.createStatement();
			 mysqlrs = mysqlStmt.executeQuery(sql);
			 
			 //循环省份
			 System.out.println("start-省");
			 while(mysqlrs.next()){				
				 String shengId = cityTypeDaoImpl.getShengID();//生成省ID
				 M0002 m0002 = new M0002();
				 m0002.setM0001(shengId);
				 m0002.setM0002(mysqlrs.getString(2));
				 m0002.setM0100(new Date());
				 m0002.setM0102(1);
				 cityTypeDaoImpl.add(m0002);
				 
				sql = "SELECT * FROM city where 省ID="+mysqlrs.getString(1);
				mysqlrs2 = mysqlStmt2.executeQuery(sql);
				
				 	System.out.println("start-市");
				 	
				 	while(mysqlrs2.next()){
				 		String shiId = cityTypeDaoImpl.getShiID(shengId);//生成市ID
				 		 M0002 m0002Temp = new M0002();
				 		m0002Temp.setM0001(shiId);
				 		m0002Temp.setM0002(mysqlrs2.getString(2));
				 		m0002Temp.setM0100(new Date());
				 		m0002Temp.setM0102(1);
						cityTypeDaoImpl.add(m0002Temp);
											
							System.out.println("start-县");
							sql = "SELECT * FROM district where 市ID="+mysqlrs2.getString(1);
							mysqlrs3 = mysqlStmt3.executeQuery(sql);
							
							while(mysqlrs3.next()){
								String xianId = cityTypeDaoImpl.getXianID(shiId);//生成县ID
								M0002 m0002Temp2 = new M0002();
								m0002Temp2.setM0001(xianId);
								m0002Temp2.setM0002(mysqlrs3.getString(2));
								m0002Temp2.setM0100(new Date());
						 		m0002Temp2.setM0102(1);
						 		cityTypeDaoImpl.add(m0002Temp2);
								
							}
							System.out.println("end-县");
							
				 	}
				 	System.out.println("end-市");		 
				 
			 }
			 
			 System.out.println("end-省");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}    
	
		
	}
	

 

 
 
 

 

猜你喜欢

转载自wgj584521.iteye.com/blog/2177978