Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void writeToDB(List<Person> personList){
- Connection con = null;
- Statement stmt = null;
- PreparedStatement preparedStatement = null;
- try {
- Class.forName("oracle.jdbc.driver.OracleDriver");
- con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe","admin","admin");
- stmt=con.createStatement();
- if(!stmt.isClosed()){
- logger.info("Connection established : 127.0.0.1:1521:xe;admin;admin");
- }
- for(Person p : personList){
- if(!isExistPersonInDB(con, p)){
- preparedStatement = con.prepareStatement("INSERT INTO PERSON (NAME, AGE, GENDER, RELATIONSHIPSTATUS, COMMUNICATIONSKILL, PLACEHASH) VALUES(?,?,?,?,?, ?)");
- preparedStatement.setString(1, p.getName());
- preparedStatement.setInt(2, p.getAge());
- preparedStatement.setString(3, String.valueOf(p.getGender()));
- preparedStatement.setString(4, String.valueOf(p.getRelationshipStatus()));
- preparedStatement.setDouble(5, p.getCommunicationSkill());
- preparedStatement.setString(6, p.getPlaceHash());
- preparedStatement.executeQuery();
- logger.trace("Insert " + p.toString() + " to DB.");
- }
- if(!isExistPlaceInDB(con, p.getPlace())){
- preparedStatement = con.prepareStatement("INSERT INTO PLACE(name, iscity, iscrowded, isday, hashcode) VALUES(?,?,?,?,?)");
- preparedStatement.setString(1, p.getPlace().getName());
- preparedStatement.setString(2, String.valueOf(p.getPlace().isCity()));
- preparedStatement.setString(3, String.valueOf(p.getPlace().isCrowded()));
- preparedStatement.setString(4, String.valueOf(p.getPlace().isDay()));
- preparedStatement.setString(5, String.valueOf(p.getPlace().hashCo()));
- preparedStatement.executeQuery();
- logger.trace("Insert place " + p.getPlaceHash() + " to DB.");
- }
- }
- } catch (ClassNotFoundException e) {
- logger.warn(e.getMessage());
- } catch (SQLException e) {
- logger.warn(e.getMessage());
- }finally {
- try {
- if(preparedStatement != null){
- preparedStatement.close();
- }
- if(stmt != null){
- stmt.close();
- }
- if(con != null){
- con.close();
- }
- if(con.isClosed()) logger.info("Connection is closed.");
- } catch (SQLException e) {
- logger.warn(e.getMessage());
- }
- }
- }
- public boolean isExistPersonInDB(Connection connection, Person person){
- try {
- PreparedStatement preparedStatement = connection.prepareStatement("select count(*)\n" +
- "from person\n" +
- "where name = ? AND age = ? AND placehash = ?");
- preparedStatement.setString(1, person.getName());
- preparedStatement.setInt(2, person.getAge());
- preparedStatement.setString(3, person.getPlaceHash());
- ResultSet resultSet = preparedStatement.executeQuery();
- resultSet.next();
- int countRecords = resultSet.getInt(1);
- if(resultSet != null){
- resultSet.close();
- }
- if(preparedStatement != null){
- preparedStatement.close();
- }
- //connection will be closed in main method ???
- if (countRecords != 0) {
- logger.trace("Person is not added, it exists in DB : " + person.toString());
- return true;
- }
- } catch (SQLException e) {
- logger.warn(e.getMessage() + " isExistPersonInDB");
- }
- return false;
- }
- public boolean isExistPlaceInDB(Connection connection, Place place) {
- try {
- Statement st = connection.createStatement();
- ResultSet resultSet = st.executeQuery("SELECT COUNT(*) FROM PLACE WHERE HASHCODE = '" + place.hashCo() + "'");
- resultSet.next();
- int countRecords = resultSet.getInt(1);
- if(resultSet != null){
- resultSet.close();
- }
- if(st != null){
- st.close();
- }
- //connection will be closed in main method ?????
- if (countRecords != 0) {
- logger.trace("Place is not added, it exists in DB : " + place.hashCo());
- return true;
- }
- } catch (SQLException e) {
- logger.warn(e.getMessage() + " isExistPlaceInDB");
- }
- return false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement