Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //package rit756;
- import java.sql.DriverManager;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.net.*;
- import java.util.Properties;
- import java.io.*;
- import org.json.simple.JSONObject;
- import org.json.simple.JSONValue;
- //Object class:
- public class Contact {
- public int getId() {
- return Id;
- }
- public void setId(int id) {
- Id = id;
- }
- public String getFirstName() {
- return FirstName;
- }
- public void setFirstName(String firstName) {
- FirstName = firstName;
- }
- public String getMiddleInitial() {
- return MiddleInitial;
- }
- public void setMiddleInitial(String middleInitial) {
- MiddleInitial = middleInitial;
- }
- public String getLastName() {
- return LastName;
- }
- public void setLastName(String lastName) {
- LastName = lastName;
- }
- public String getStreet() {
- return Street;
- }
- public void setStreet(String street) {
- Street = street;
- }
- public String getCity() {
- return City;
- }
- public void setCity(String city) {
- City = city;
- }
- public String getState() {
- return State;
- }
- public void setState(String state) {
- State = state;
- }
- public String getZip() {
- return Zip;
- }
- public void setZip(String zip) {
- Zip = zip;
- }
- public String getPhone() {
- return Phone;
- }
- public void setPhone(String phone) {
- Phone = phone;
- }
- public String getEmail() {
- return Email;
- }
- public void setEmail(String email) {
- Email = email;
- }
- public String getCardtype() {
- return Cardtype;
- }
- public void setCardtype(String cardtype) {
- Cardtype = cardtype;
- }
- public String getCardNumber() {
- return CardNumber;
- }
- public void setCardNumber(String cardNumber) {
- CardNumber = cardNumber;
- }
- private int Id;
- private String FirstName;
- private String MiddleInitial;
- private String LastName;
- private String Street;
- private String City;
- private String State;
- private String Zip;
- private String Phone;
- private String Email;
- private String Cardtype;
- private String CardNumber;
- }
- //JDBC Method Class:
- public class JDBMethods implements JDBMethodsInterface {
- private Connection connection = null;
- public void setupDb(String ip, String port, String uname, String pwd,
- String Db) {
- try {
- Class.forName("com.mysql.jdbc.Driver");
- String constring = "jdbc:mysql://" + ip + ":" + port + "/" + Db;
- connection = DriverManager.getConnection(constring, uname, pwd);
- } catch (ClassNotFoundException | SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public boolean selectOnId(Contact contact) {
- Boolean result=false;
- try {
- PreparedStatement ps = connection
- .prepareStatement("SELECT * FROM person WHERE Id=?");
- ps.setInt(1, contact.getId());
- ResultSet rs = ps.executeQuery();
- while (rs.next()) {
- contact.setId(rs.getInt("Id"));
- contact.setCardNumber(rs.getString("CardNumber"));
- contact.setCity(rs.getString("City"));
- contact.setFirstName(rs.getString("FirstName"));
- contact.setLastName(rs.getString("LastName"));
- contact.setEmail(rs.getString("Email"));
- contact.setMiddleInitial(rs.getString("MiddleInitial"));
- contact.setState(rs.getString("State"));
- contact.setZip(rs.getString("Zip"));
- contact.setPhone(rs.getString("Phone"));
- contact.setCardtype(rs.getString("CreditCardType"));
- contact.setStreet(rs.getString("Street"));
- result=true;
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return result;
- }
- public JDBMethods(String Ip, String Port, String uname, String pwd,
- String Db) {
- setupDb(Ip, Port, uname, pwd, Db);
- }
- @Override
- public boolean selectOnLastName(Contact contact) {
- Boolean result=false;
- try {
- PreparedStatement ps = connection
- .prepareStatement("SELECT * FROM person WHERE LastName=?");
- ps.setString(1, contact.getLastName());
- ResultSet rs = ps.executeQuery();
- while (rs.next()) {
- result=true;
- contact.setId(rs.getInt("Id"));
- contact.setCardNumber(rs.getString("CardNumber"));
- contact.setCity(rs.getString("City"));
- contact.setFirstName(rs.getString("FirstName"));
- contact.setLastName(rs.getString("LastName"));
- contact.setEmail(rs.getString("Email"));
- contact.setMiddleInitial(rs.getString("MiddleInitial"));
- contact.setState(rs.getString("State"));
- contact.setZip(rs.getString("Zip"));
- contact.setPhone(rs.getString("Phone"));
- contact.setCardtype(rs.getString("CreditCardType"));
- contact.setStreet(rs.getString("Street"));
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return result;
- }
- @Override
- public boolean update(Contact contact) {
- //
- String sql="UPDATE person SET
- Id=?,FirstName=?,LastName=?,MiddleInitial=?,Street=?,City=?,State=?,Zip=?,Phone=?,Email=?,CreditCardType=?,CardNumber=?WHERE Id=?";
- PreparedStatement preparedStatement;
- try {
- preparedStatement = connection.prepareStatement(sql);
- preparedStatement.setInt(1, contact.getId());
- preparedStatement.setString(2, contact.getFirstName());
- preparedStatement.setString(3, contact.getLastName());
- preparedStatement.setString(4, contact.getMiddleInitial());
- preparedStatement.setString(5, contact.getStreet());
- preparedStatement.setString(6, contact.getCity());
- preparedStatement.setString(7, contact.getState());
- preparedStatement.setString(8, contact.getZip());
- preparedStatement.setString(9, contact.getPhone());
- preparedStatement.setString(10, contact.getEmail());
- preparedStatement.setString(11, contact.getCardtype());
- preparedStatement.setString(12, contact.getCardNumber());
- preparedStatement.setInt(13, contact.getId());
- preparedStatement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return true;
- }
- @Override
- public boolean insert(Contact contact) {
- String sql = "INSERT INTO person"
- + "(Id, FirstName, LastName,MiddleInitial,Street,City,State,Zip,Phone,Email,CreditCardType,CardNumber) VALUES"
- + "(?,?,?,?,?,?,?,?,?,?,?,?)";
- PreparedStatement preparedStatement;
- try {
- preparedStatement = connection.prepareStatement(sql);
- preparedStatement.setInt(1, contact.getId());
- preparedStatement.setString(2, contact.getFirstName());
- preparedStatement.setString(3, contact.getLastName());
- preparedStatement.setString(4, contact.getMiddleInitial());
- preparedStatement.setString(5, contact.getStreet());
- preparedStatement.setString(6, contact.getCity());
- preparedStatement.setString(7, contact.getState());
- preparedStatement.setString(8, contact.getZip());
- preparedStatement.setString(9, contact.getPhone());
- preparedStatement.setString(10, contact.getEmail());
- preparedStatement.setString(11, contact.getCardtype());
- preparedStatement.setString(12, contact.getCardNumber());
- preparedStatement.executeUpdate();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return true;
- }
- @Override
- public boolean delete(Contact contact) {
- PreparedStatement preparedStatement = null;
- String deleteSQL = "DELETE FROM person WHERE Id = ?";
- try {
- preparedStatement = connection.prepareStatement(deleteSQL);
- preparedStatement.setInt(1,contact.getId());
- preparedStatement.executeUpdate();
- System.out.println("Record is deleted!");
- } catch (SQLException e) {
- System.out.println(e.getMessage());
- }
- return true;
- }
- }
- //JDBC Interface Class:
- interface JDBMethodsInterface {
- public boolean selectOnId(Contact contact);
- public boolean selectOnLastName(Contact contact);
- public boolean update(Contact contact);
- public boolean insert(Contact contact);
- public boolean delete(Contact contact);
- }
- //JDBC Server Class:
- public class Server {
- public static void main(String[] args) {
- new Server();
- }
- public Server() {
- Properties prop = new Properties();
- InputStream input = null;
- try {
- input = new FileInputStream("config.properties");
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- try {
- prop.load(input);
- } catch (IOException e) {
- e.printStackTrace();
- }
- ServerSocket ss = null;
- int port=Integer.parseInt(prop.getProperty("port"));
- try {
- ss = new ServerSocket(port);
- Socket cs = null;
- while (true) {
- cs = ss.accept();
- ThreadedServer ths = new ThreadedServer(cs,prop);
- ths.start();
- }
- } catch (BindException be) {
- System.out
- .println("Server already running on this computer, stopping.");
- } catch (IOException ioe) {
- System.out.println("IO Error");
- ioe.printStackTrace();
- }
- }
- }
- class ThreadedServer extends Thread {
- Socket cs;
- Properties properties;
- public ThreadedServer(Socket cs,Properties prop) {
- this.cs = cs;
- this.properties=prop;
- }
- @SuppressWarnings("unchecked")
- public void run() {
- try {
- BufferedReader br;
- PrintWriter opw;
- System.out.println("New connection");
- br = new BufferedReader(new InputStreamReader(cs.getInputStream()));
- opw = new PrintWriter(new OutputStreamWriter(cs.getOutputStream()));
- boolean status = false;
- Contact contact = new Contact();
- JDBMethods jdbmethods = new JDBMethods(properties.getProperty("dbhost"), properties.getProperty("dbport"),
- properties.getProperty("dbuser"),
- properties.getProperty("dbpassword"), properties.getProperty("dbname"));
- //JDBMethods jdbmethods = new JDBMethods("localhost", "3306","root", "root", "RIT");
- String json = br.readLine();
- Object o = JSONValue.parse(json);
- JSONObject jo = (JSONObject) o;
- String method = (String) jo.get("method");
- if (method.equals("selectOnId")) {
- JSONObject obj = new JSONObject();
- contact.setId(Integer.parseInt((String) jo.get("data")));
- status=jdbmethods.selectOnId(contact);
- obj.put("FirstName", contact.getFirstName());
- obj.put("Id", contact.getId());
- obj.put("LastName", contact.getLastName());
- obj.put("CardNumber", contact.getCardNumber());
- obj.put("City", contact.getCity());
- obj.put("Email", contact.getEmail());
- obj.put("MiddleInitial", contact.getMiddleInitial());
- obj.put("State", contact.getState());
- obj.put("Zip", contact.getZip());
- obj.put("Phone", contact.getPhone());
- obj.put("CreditCardType", contact.getCardtype());
- obj.put("Street", contact.getStreet());
- StringWriter out = new StringWriter();
- obj.writeJSONString(out);
- String jsonText = out.toString();
- String response="{\"data\":"+jsonText+",\"status\":\"" + status + "\"}";
- System.out.println(response);
- opw.write(response);
- } else if (method.equals("insert")) {
- JSONObject jsondata = (JSONObject) jo.get("data");
- contact.setCardNumber((String) jsondata.get("CardNumber"));
- contact.setCity((String) jsondata.get("City"));
- contact.setFirstName((String) jsondata.get("FirstName"));
- contact.setLastName((String) jsondata.get("LastName"));
- contact.setId(Integer.parseInt((String) jsondata.get("Id")));
- contact.setEmail((String) jsondata.get("Email"));
- contact.setMiddleInitial((String) jsondata.get("MiddleInitial"));
- contact.setState((String) jsondata.get("State"));
- contact.setZip((String) jsondata.get("Zip"));
- contact.setPhone((String) jsondata.get("Phone"));
- contact.setCardtype((String) jsondata.get("CreditCardType"));
- contact.setStreet((String) jsondata.get("Street"));
- status = jdbmethods.insert(contact);
- opw.write("{'status':'" + status + "'}");
- }
- else if (method.equals("update")) {
- JSONObject jsondata = (JSONObject) jo.get("data");
- contact.setCardNumber((String) jsondata.get("CardNumber"));
- contact.setCity((String) jsondata.get("City"));
- contact.setFirstName((String) jsondata.get("FirstName"));
- contact.setLastName((String) jsondata.get("LastName"));
- contact.setId(Integer.parseInt((String) jsondata.get("Id")));
- contact.setEmail((String) jsondata.get("Email"));
- contact.setMiddleInitial((String) jsondata.get("MiddleInitial"));
- contact.setState((String) jsondata.get("State"));
- contact.setZip((String) jsondata.get("Zip"));
- contact.setPhone((String) jsondata.get("Phone"));
- contact.setCardtype((String) jsondata.get("CreditCardType"));
- contact.setStreet((String) jsondata.get("Street"));
- status = jdbmethods.update(contact);
- opw.write("{'status':'" + status + "'}");
- } else if (method.equals("selectOnLastName")) {
- JSONObject obj = new JSONObject();
- System.out.println((String)jo.get("data"));
- contact.setLastName((String) jo.get("data"));
- status=jdbmethods.selectOnLastName(contact);
- obj.put("FirstName", contact.getFirstName());
- obj.put("Id", contact.getId());
- obj.put("LastName", contact.getLastName());
- obj.put("CardNumber", contact.getCardNumber());
- obj.put("City", contact.getCity());
- obj.put("Email", contact.getEmail());
- obj.put("MiddleInitial", contact.getMiddleInitial());
- obj.put("State", contact.getState());
- obj.put("Zip", contact.getZip());
- obj.put("Phone", contact.getPhone());
- obj.put("CreditCardType", contact.getCardtype());
- obj.put("Street", contact.getStreet());
- StringWriter out = new StringWriter();
- obj.writeJSONString(out);
- String jsonText = out.toString();
- //System.out.print(jsonText);
- String response="{\"data\":"+jsonText+",\"status\":\"" + status + "\"}";
- System.out.println(response);
- opw.write(response);
- } else if (method.equals("delete")) {
- contact.setId(Integer.parseInt((String) jo.get("data")));
- status=jdbmethods.delete(contact);
- opw.write("{'status':'" + status + "'}");
- }
- opw.flush();
- cs.close();
- System.out.println("connection closed");
- } catch (IOException e) {
- System.out.println("Something went wrong.");
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement