All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.anlavn.net.SQL Maven / Gradle / Ivy

There is a newer version: 6.70.10.2
Show newest version
package com.anlavn.net;
// Make By Bình An || AnLaVN || KatoVN

import com.anlavn.file.Log;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**Lớp SQL hỗ trợ kết nối, thực thi mySQL và SQL Server.
 * @author AnLaVN
 */
public class SQL{
    private String URL = null, USERNAME = null, PASSWORD = null;
    private Connection CON = null;
    private PreparedStatement getPreparedStatement(String Query, Object... args) throws SQLException{
        PreparedStatement ps = null;
        if(Query.trim().startsWith("{"))    ps = CON.prepareCall(Query);
        else                                ps = CON.prepareStatement(Query);
        for(int i=0; i < args.length; i++)  ps.setObject(i + 1, args[i]);
        return ps;
    }
    private SQL(){}    
    
    
    /**Tạo kết nối SQL với đầy đủ thông tin.
     * @param DB_url là URL Database để kết nối.
* @param DB_username là Tên đăng nhập Database.
* @param DB_password là Mật khẩu Database.
*/ public SQL(String DB_url, String DB_username, String DB_password) { this.URL = DB_url; this.USERNAME = DB_username; this.PASSWORD = DB_password; } /**Sử dụng phương thức này để kiểm tra kết nối của SQL có null không. * @return true nếu kết nối SQL là null, false ngược lại. */ public final boolean isConnectNull(){ return CON == null; } /**Sử dụng phương thức này để lấy kết nối của SQL. * @return Kết nối SQL của bạn. */ public final Connection getConnect(){ return CON; } /**Sử dụng phương thức này để kết nối Database của bạn. * @throws java.lang.ClassNotFoundException * @throws java.sql.SQLException * @see SQL#SQL(java.lang.String, java.lang.String, java.lang.String) */ public final void Connect() throws ClassNotFoundException, SQLException{ boolean s = true; String SQLType = URL.substring(5, URL.indexOf("//")-1); //Check type SQL Log.add("SQL type: "+SQLType); switch (SQLType) { case "sqlserver" -> Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); case "mysql" -> Class.forName("com.mysql.cj.jdbc.Driver"); default ->{Log.add("!!! Error Syntax !!! SQL does not exist."); s = false;} }//Check SQL information if(URL!=null && USERNAME!=null && PASSWORD!=null && s) CON = DriverManager.getConnection(URL, USERNAME, PASSWORD); else{ Log.add("!!! Error !!! SQL is not set up, please use setSQL method."); } } /**Sử dụng phương thức này để thực thi Truy Vấn Cập nhật với nhiều đối số Object Varargs. * @param Query là câu lệnh Truy vấn SQL dạng chuỗi.
* @param args là mảng nhiều đối số Object Varargs.
* @return số hàng bị ảnh hưởng sau khi thực hiện Truy Vấn. * @see SQL#Query(java.lang.String, java.lang.Object...) */ public final int Update(String Query, Object... args){ try{ return getPreparedStatement(Query, args).executeUpdate(); }catch (SQLException e) { Log.add("!!! Error try to execute update query: " + Query + "!!!\n\tError code: " + e.toString()); Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, e); throw new RuntimeException(e); } } /**Sử dụng phương thức này để thực thi Truy Vấn với nhiều đối số Object Varargs. * @param Query là câu lệnh Truy vấn SQL dạng chuỗi.
* @param args là mảng nhiều đối số Object Varargs.
* @return Tập Kết Quả sau khi thực hiện Truy Vấn. * @see SQL#Update(java.lang.String, java.lang.Object...) */ public final ResultSet Query(String Query, Object... args) { try { return getPreparedStatement(Query, args).executeQuery(); }catch (SQLException e) { Log.add("!!! Error try to execute query: " + Query + "!!!\n\tError code: " + e.toString()); Logger.getLogger(SQL.class.getName()).log(Level.SEVERE, null, e); throw new RuntimeException(e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy