📄 person.java
字号:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Summary of one person
*
* @author james
*
*/
public class Person {
public int id;
public String first_name = "";
public String last_name = "";
public String career_heading = "";
public String location = "";
public int recommendation_count;
public int connection_count;
public int search_result_id;
public String profile_cached_html;
public String profile_cached_url;
protected Connection cnn;
private static int newID;
/**
* @param args
*/
public static void main(String[] args) {
}
public Person(Connection cnn, int urlID, String page) {
// this.cnn=DataAccess.getNewConnection();
this.cnn = cnn;
this.search_result_id = urlID;
this.profile_cached_html = page;
}
public synchronized void insertPageOnly(int urlID, String html) {
PreparedStatement ps;
try {
ps = cnn
.prepareStatement("insert into people(profile_cached_url_id,profile_cached_html) select ?,?");
ps.setInt(1, urlID);
ps.setString(2, html);
ps.execute();
} catch (SQLException e) {
// Supress warning, mostly are duplicate inserts .
e.printStackTrace();
}
}
public synchronized void insert() throws SQLException {
insertToDB();
// printMe();
}
private void insertToDB() throws SQLException {
if (MTProfile.generateID)
insertToDBwKey();
else
insertToDBwoKey();
}
private void insertToDBwKey() throws SQLException {
PreparedStatement ps;
ps = cnn
.prepareStatement("insert into people "
+ "( first_name,last_name,career_heading,location,recommendation_count,connection_count, search_result_id,profile_cached_html,parse_tag,id)"
+ " select ?,?,?,?,?,?,?,?,?,?");
ps.setString(1, first_name.length() > 45 ? first_name
.substring(0, 45) : first_name);
ps.setString(2, last_name.length() > 45 ? last_name
.substring(0, 45) : last_name);
ps.setString(3, career_heading.length() > 145 ? career_heading
.substring(0, 145) : career_heading);
ps.setString(4, location);
ps.setInt(5, recommendation_count);
ps.setInt(6, connection_count);
ps.setInt(7, search_result_id);
ps.setString(8,
profile_cached_html.length() > 64000 ? profile_cached_html
.substring(0, 64000) : profile_cached_html);
ps.setInt(9, 1);
this.id=getNewID();
ps.setInt(10, this.id);
ps.execute();
}
private static synchronized int getNewID() throws SQLException {
if (newID == 0) {
PreparedStatement ps;
ps = DataAccess.getConnection().prepareStatement("select max(id) as id from people");
ResultSet rs=ps.executeQuery();
rs.next();
newID=rs.getInt(1);
}
return ++newID;
}
private void insertToDBwoKey() throws SQLException {
PreparedStatement ps;
ps = cnn
.prepareStatement("insert into people "
+ "( first_name,last_name,career_heading,location,recommendation_count,connection_count, search_result_id,profile_cached_html,parse_tag)"
+ " select ?,?,?,?,?,?,?,?,?");
ps.setString(1, first_name);
ps.setString(2, last_name);
ps.setString(3, career_heading.length() > 145 ? career_heading
.substring(0, 145) : career_heading);
ps.setString(4, location);
ps.setInt(5, recommendation_count);
ps.setInt(6, connection_count);
ps.setInt(7, search_result_id);
ps.setString(8,
profile_cached_html.length() > 65535 ? profile_cached_html
.substring(0, 65535) : profile_cached_html);
ps.setInt(9, 1);
ps.execute();
ResultSet rs = ps.getGeneratedKeys();
if (rs.next())
this.id = rs.getInt(1);
else
throw new SQLException("Failed to generate a key.");
}
public void printMe() {
System.out.println(this.first_name);
System.out.println(this.last_name);
System.out.println(this.career_heading);
System.out.println(this.location);
System.out.println(this.recommendation_count);
System.out.println(this.connection_count);
}
public void update() throws SQLException {
updateDB();
}
private void updateDB() throws SQLException {
PreparedStatement ps;
ps = cnn
.prepareStatement("update people set first_name=?,last_name=?,career_heading=?,location=?,recommendation_count=?,connection_count=? where id=?");
ps.setString(1, first_name);
ps.setString(2, last_name);
ps.setString(3, career_heading);
ps.setString(4, location);
ps.setInt(5, recommendation_count);
ps.setInt(6, connection_count);
ps.setInt(7, id);
ps.execute();
}
public void setParsed() throws SQLException {
PreparedStatement ps = cnn
.prepareStatement("update people set parse_tag=parse_tag+1 where id=?");
ps.setInt(1, id);
ps.execute();
}
public void appendTo(StringBuilder sb) {
sb.append(this.first_name);
sb.append("\r\n");
sb.append(this.last_name);
sb.append("\r\n");
sb.append(this.career_heading);
sb.append("\r\n");
sb.append(this.location);
sb.append("\r\n");
sb.append(this.recommendation_count);
sb.append("\r\n");
sb.append(this.connection_count);
sb.append("\r\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -