⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 job.java

📁 利用多线程从搜索引擎下载网页并提取数据到数据库。
💻 JAVA
字号:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;

public class Job {

	public int id; // primary_key

	public int person_id; // foreign key to people

	public String role;

	public String organization_name;

	public int organization_type_id; // foreign key to organization_types

	public int organization_size_id; // foreign key to company_sizes

	public String organization_stock_ticker;

	public int industry_id; // foreign key to industries

	public Date start_date;

	public Date end_date;

	public String description;

	public int position;

	public Person person;

	public String organization_type;

	public String organization_size;

	public String industry;

	private Connection cnn;
	PreparedStatement ps;

	/**
	 * @param args
	 */
	public static void main(String[] args) {

	}

	public Job(Person person) {
		this.person = person;
		this.cnn = person.cnn;
	}

	public void populateFromDB() throws SQLException {
		this.organization_type_id = new OrganizationType(this.organization_type)
				.getID();
		this.organization_size_id = new CompanySize(this.organization_size)
				.getID();
		this.industry_id = new Industry(this.industry).getID();
		this.person_id = person.id;
	}

	public static synchronized void insert(ArrayList<Job> jobs)
			throws SQLException {
		if (jobs.size()<=0)
			return;
		Job job1 = jobs.get(0);
		job1.ps = job1.cnn
				.prepareStatement("insert into work_destinations(person_id,work_role,organization_name,"
						+ "organization_type_id,organization_size_id,organization_stock_ticker,"
						+ "industry_id,start_date,end_date,description,position) select ?,?,?,?,?,?,?,?,?,?,?");

		for (Job job : jobs) {
			job.ps=job1.ps;
			job.insert();
		}
	}

	public static synchronized void printMe(ArrayList<Job> jobs) {
		for (Job job : jobs) {
			job.printMe();
		}
	}

	public void insert() throws SQLException {
		populateFromDB();
		insertToDB();

	}

	private void insertToDB() throws SQLException {

		ps.setInt(1, person_id);
		ps.setString(2, role);
		ps.setString(3, organization_name);
		ps.setInt(4, organization_type_id);
		ps.setInt(5, organization_size_id);
		ps.setString(6, organization_stock_ticker);
		ps.setInt(7, industry_id);
		ps.setDate(8, start_date == null ? null : new java.sql.Date(start_date
				.getTime()));
		ps.setDate(9, end_date == null ? null : new java.sql.Date(end_date
				.getTime()));
		ps.setString(10, description);
		ps.setInt(11, position);

		ps.execute();
	}

	public void printMe() {
		System.out.println(this.role);
		System.out.println(this.organization_name);
		System.out.println("organization_type: " + this.organization_type);
		System.out.println("organization_size: " + this.organization_size);
		System.out.println("organization_stock_ticker: " + this.organization_stock_ticker);
		System.out.println("industry: " + this.industry);
		System.out.println(this.start_date);
		System.out.println(this.end_date);
		System.out.println(this.description);
		System.out.println(this.position);
	}

	public static synchronized void appendTo(ArrayList<Job> jobs,
			StringBuilder sb) {
		for (Job job : jobs) {
			sb.append("\r\n----------------------------\r\n");

			job.appendTo(sb);
		}
	}

	private void appendTo(StringBuilder sb) {
		sb.append(this.role);
		sb.append("\r\n");
		sb.append(this.organization_name);
		sb.append("\r\n");
		sb.append(this.organization_type);
		sb.append("\r\n");
		sb.append(this.organization_size);
		sb.append("\r\n");
		sb.append(this.organization_stock_ticker);
		sb.append("\r\n");
		sb.append(this.industry);
		sb.append("\r\n");
		sb.append(this.start_date);
		sb.append("\r\n");
		sb.append(this.end_date);
		sb.append("\r\n");
		sb.append(this.description);
		sb.append("\r\n");
		sb.append(this.position);
		sb.append("\r\n");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -