Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package main;
- import com.mysql.jdbc.Connection;
- import com.mysql.jdbc.Statement;
- import java.awt.List;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.util.ArrayList;
- import java.util.Map;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- *
- * @author Sianipar
- */
- public class QueryBuilder {
- private Connection koneksi = null;
- private ResultSet rs = null;
- private Statement stmt = null;
- private PreparedStatement pst = null;
- private String _field = "*";
- private String _table = "";
- private String __join = "";
- private String _where = "";
- private String _group = "";
- private String _order = "";
- private String _limit = "";
- public QueryBuilder() {
- try {
- String url = "jdbc:mysql://192.168.43.201:3306/absensi";
- DriverManager.registerDriver(new com.mysql.jdbc.Driver());
- koneksi = (Connection) DriverManager.getConnection(url, "absen", "absen123");
- } catch (SQLException ex) {
- Logger.getLogger(QueryBuilder.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public QueryBuilder select(String field) {
- this._field = field;
- return this;
- }
- public QueryBuilder table(String table) {
- this._table = table;
- return this;
- }
- public QueryBuilder join(String type, String table, String on) {
- this.__join += " " + type + " " + table + " ON (" + on + ")";
- return this;
- }
- public QueryBuilder where(String field, String condition, String value) {
- this._where += (this._where.contains("WHERE")) ? " AND " : " ";
- this._where += (this._where.contains("WHERE")) ? " " : " WHERE ";
- this._where += field + " " + condition + " '" + value + "'";
- return this;
- }
- public QueryBuilder where(String field, String value) {
- this._where += (this._where.contains("WHERE")) ? " AND " : " ";
- this._where += (this._where.contains("WHERE")) ? " " : " WHERE ";
- this._where += field + " = '" + value + "'";
- return this;
- }
- public QueryBuilder group(String group) {
- this._group = " GROUP BY " + group;
- return this;
- }
- public QueryBuilder order(String order) {
- this._order = " ORDER BY " + order;
- return this;
- }
- public QueryBuilder limit(String limit) {
- this._limit = " LIMIT " + limit;
- return this;
- }
- public ResultSet execute() {
- try {
- String query = "SELECT " + this._field + " FROM " + this._table + this.__join + this._where + this._group + this._order + this._limit;
- System.out.println(query);
- stmt = (Statement) koneksi.createStatement();
- rs = stmt.executeQuery(query);
- this._field = "*";
- this._table = "";
- this.__join = "";
- this._where = "";
- this._group = "";
- this._order = "";
- this._limit = "";
- return rs;
- } catch (SQLException ex) {
- Logger.getLogger(QueryBuilder.class.getName()).log(Level.SEVERE, null, ex);
- }
- return null;
- }
- public void insert(Map<String, String> param) {
- try {
- String args = "";
- String field = "";
- int i = 0;
- for (Map.Entry<String, String> entry : param.entrySet()) {
- field += (i < param.size() - 1) ? entry.getKey() + "," : entry.getKey();
- args += (i < param.size() - 1) ? "?," : "?";
- i++;
- }
- String query = "INSERT INTO " + this._table + " (" + field + ") VALUES (" + args + ")";
- System.out.println(query);
- pst = koneksi.prepareStatement(query);
- i = 1;
- for (Map.Entry<String, String> entry : param.entrySet()) {
- pst.setString(i, entry.getValue());
- i++;
- }
- pst.execute();
- this._table = "";
- } catch (SQLException ex) {
- Logger.getLogger(QueryBuilder.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void update(Map<String, String> param) {
- try {
- String set = "";
- int i = 0;
- for (Map.Entry<String, String> entry : param.entrySet()) {
- set += entry.getKey() + "=?";
- set += (i < param.size() - 1) ? "," : "";
- i++;
- }
- String query = "UPDATE " + this._table + " SET " + set + this._where;
- System.out.println(query);
- pst = koneksi.prepareStatement(query);
- i = 1;
- for (Map.Entry<String, String> entry : param.entrySet()) {
- pst.setString(i, entry.getValue());
- i++;
- }
- pst.execute();
- this._table = "";
- this._where = "";
- } catch (SQLException ex) {
- Logger.getLogger(QueryBuilder.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- public void delete() {
- try {
- String query = "DELETE FROM " + this._table + this._where;
- System.out.println(query);
- pst = koneksi.prepareStatement(query);
- pst.execute();
- this._table = "";
- this._where = "";
- } catch (SQLException ex) {
- Logger.getLogger(QueryBuilder.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement