数据库小项目

package cn.myfirstproject;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;

public class MyFirstProject {
	public static Connection getconnect() {

		//获取mysql数据库的数据!
		
		
		
		Connection con = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sheng", "root", "root");
			//System.out.println(con.isClosed());
		} catch (ClassNotFoundException e) {

			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}

	public HashMap chanpin() {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		HashMap<String,String> map = new HashMap<String,String>();
		try {
			conn = MyFirstProject.getconnect();
			ps = conn.prepareStatement("select * from firstmysql ;");
			rs = ps.executeQuery();
			while (rs.next()) {
				map.put(rs.getString(1), rs.getString(2));
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (rs != null)
					rs.close();
				if (ps != null)
					ps.close();
				if (conn != null)
					conn.close();

			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
		return map;
	}
}


package cn.myfirstproject;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;

public class MyFirstOrical {
	public static Connection getconnect() {
		//获取orical的数据库数据!
		Connection con = null;
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.15.59:1521:orcl", "C##msuser02", "Password1");
			//System.out.println(con.isClosed());
		} catch (ClassNotFoundException e) {

			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return con;
	}

	public HashMap shangdian() {
		Connection conn = null;
		PreparedStatement ps = null;
		ResultSet rs = null;
		HashMap<String,String> map = new HashMap<String,String>();
		try {
			conn = MyFirstOrical.getconnect();
			ps = conn.prepareStatement("select * from four_stock");
			rs = ps.executeQuery();
			while (rs.next()) {
				map.put(rs.getString(1), rs.getString(2));
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				if (rs != null)
					rs.close();
				if (ps != null)
					ps.close();
				if (conn != null)
					conn.close();

			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
		return map;
	}

	
}

package cn.myfirstproject;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Set;

public class Compare {
	public static void compare() throws IOException{

		
		HashMap<String,String>  orical = new MyFirstOrical().shangdian() ;
		HashMap<String,String>  mysql = new MyFirstProject().chanpin();
		
		StringBuilder sb = new StringBuilder();
		
		//获取键值!
		Set<String> mysqlset = mysql.keySet();
		//通过键值获取mysql表和orical表的相对应的值!
		for (String key : mysqlset) {
			String value1 = (String) mysql.get(key);
			String value2 = (String) orical.get(key);
			
			if(!value1 .equals(value2)){
				System.out.println("产品"+key+"从库存"+mysql.get(key)+",订单系统库存为"+orical.get(key));
				sb.append("商品ID:" +  key + ",仓库库存为:" + value1+ ",订单系统库存为" + value2 );
				sb.append("\r\n");
				MyUpdate.myupdate(key, value1);
			}
		}

		method(sb.toString());
	
	}
	public static void method(String str){
		
		FileWriter file = null;
		try {
			 file = new FileWriter("F:/test/A.txt");		
			file.write(str);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
			try {
				file.flush();
				file.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
	}

	
}

package cn.myfirstproject;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class MyUpdate {
	public static void myupdate(String key , String values) {

		Connection con = null;
		PreparedStatement pre = null;
		ResultSet  rs = null;
		try {

			Class.forName("oracle.jdbc.driver.OracleDriver");
			con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.15.59:1521:orcl", "C##msuser02", "Password1");
			pre = con.prepareStatement("update four_stock set product_inventory=? where product_id=?");
			pre.setString(1, values);
			pre.setString(2, key);
			pre.executeQuery();
			
		
		
		
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}

package cn.myfirstproject;

import java.io.IOException;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

public class MyFirstProjectTest {
	public static void main(String[] args) throws IOException {
		Timer timer = new Timer();
		TimerTask task = new TimerTask() {
			
			@Override
			public void run() {
				try {
					Compare.compare();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				
			}
		};
		timer.scheduleAtFixedRate(task, new Date(), 2000);
		
	}
}
通过此次小项目·的实操,我发现了自己在知识点的操作运用上还不是很熟练,不过整个项目做下来感觉收货还是挺大的!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值