javafx集成Sqlite工具类,包含增删改查范例

javafx集成Sqlite工具类

* 包含增删改查范例

技术分享交流 qq群(835259695)
package com.hq.utils;

import com.hq.database.entity.CollectionBox;
import com.hq.database.entity.Patch;
import com.hq.view.CollectionFrame;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 * Sqlite工具类,包含增删改查范例
 * @author 徐志林
 * @createTime 2020-04-23 11:04
 */
public class SqliteUtil {
    public static String SERVER_PATH = System.getProperty("user.dir");//项目的目录(或api启动文件bat的同级目录)
    public static String DATABASE_PATH = SERVER_PATH + "/database/SipWifi.db";
    public static Connection connection;
    public static Statement statement;

    static {
        connectDatabase();
    }

    /**
     * 只连接一次(通用方法)
     */
    public static void connectDatabase(){
        try {
            connection = DriverManager.getConnection("jdbc:sqlite:"+DATABASE_PATH);
            statement = connection.createStatement();
            statement.setQueryTimeout(30);
        } catch (SQLException e) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, e);
        }
    }

    //以下方法都为自定义的查询

    /**
     * 添加
     */
    public static void addBox(String nameStr, String numberStr) {
        try {
            statement.executeUpdate("insert into main.collection_box (box_name, box_number, create_time) values ('"+nameStr+"','"+numberStr+"',datetime());");
        } catch (SQLException ex) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * 编辑
     */
    public static void editBox(String nameStr, String numberStr,String boxId) {
        try {
            statement.executeUpdate("update collection_box set box_name = '"+nameStr+"', box_number = '"
                    +numberStr+"', update_time = datetime() where id =  "+boxId);
        } catch (SQLException ex) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * 删除
     */
    public static void delBox(String boxId) {
        try {
            statement.executeUpdate("update collection_box set delete_flag = 1 ,update_time = datetime() where id =  "+boxId);
        } catch (SQLException ex) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    
    /**
     * 查询
     */
    public static List<CollectionBox> getCollectionBoxData() {
        List<CollectionBox> result = new ArrayList<>();
        try {
            ResultSet rs = statement.executeQuery("select * from main.'collection_box' where delete_flag = 0 order by id asc");
            while (rs.next()) {
                CollectionBox c = new CollectionBox();
                c.setId(rs.getString("id"));
                c.setBoxName(rs.getString("box_name"));
                c.setBoxNumber(rs.getString("box_number"));
                c.setCreateTime(rs.getString("create_time"));
                c.setUpdateTime(rs.getString("update_time"));
                c.setDeleteFlag(rs.getString("delete_flag"));
                c.setRemarks(rs.getString("remarks"));
                result.add(c);
            }
        } catch (SQLException ex) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
        return result;
    }

    /**
     * like语句-动态sql
     * @param boxId
     * @return
     */
    public static List<Patch> getPatchData(String boxId,String searchStr) {
        List<Patch> result = new ArrayList<>();
        try {
            String searchSql = "";
            if(searchStr!=null && !searchStr.isEmpty()){
                searchSql = " and ((patch_name like '%"+searchStr+"%') or (patch_number like'%"+searchStr+"%'))";
            }
            ResultSet rs = statement.executeQuery("select  * from Patch where delete_flag = 0 and box_id = " + boxId+searchSql);
            while (rs.next()) {
                Patch c = new Patch();
                c.setId(rs.getString("id"));
                c.setPatchName(rs.getString("patch_name"));
                c.setPatchNumber(rs.getString("patch_number"));
                c.setCreateTime(rs.getString("create_time"));
                c.setUpdateTime(rs.getString("update_time"));
                c.setDeleteFlag(rs.getString("delete_flag"));
                c.setRemarks(rs.getString("remarks"));
                c.setFrequency(rs.getString("frequency"));
                c.setBoxId(rs.getString("box_id"));
                c.setStatus(rs.getString("status"));
                result.add(c);
            }
        } catch (SQLException ex) {
            Logger.getLogger(CollectionFrame.class.getName()).log(Level.SEVERE, null, ex);
        }
        return result;
    }

}

你可能感兴趣的:(javafx集成Sqlite工具类,包含增删改查范例)