引入 依赖
< dependency> < groupId> org. xerial< / groupId> < artifactId> sqlite- jdbc< / artifactId> < version> 3.36 .0 .3 < / version> < / dependency>
import javafx. scene. control. Alert;
import java. sql. * ; public class DbUtil { private static String DB_PATH = "db/database.db" ; private static String sqliteURL= "jdbc:sqlite:" + DB_PATH; private static String jdbcNameSqlite = "org.sqlite.JDBC" ; public static Connection getSqliteCon ( ) throws SQLException { try { Class. forName ( jdbcNameSqlite) ; Connection conn = null ; conn = DriverManager. getConnection ( sqliteURL) ; return conn; } catch ( Exception e) { Alert alert = new Alert ( Alert. AlertType. INFORMATION) ; alert. setTitle ( "提示" ) ; alert. setHeaderText ( null ) ;
alert. setContentText ( String. valueOf ( e) ) ; alert. showAndWait ( ) ; e. printStackTrace ( ) ; } return null ; } public static void close ( ResultSet rs, PreparedStatement st, Connection con) throws SQLException { if ( rs != null ) { rs. close ( ) ; if ( st != null ) { st. close ( ) ; if ( con != null ) { con. close ( ) ; } } } } public static void close ( PreparedStatement st, Connection con) throws SQLException { if ( st != null ) { try { st. close ( ) ; } catch ( SQLException e) { e. printStackTrace ( ) ; } } if ( con != null ) { try { con. close ( ) ; } catch ( SQLException e) { e. printStackTrace ( ) ; } } }
}
String sqlInsert = "INSERT INTO setting (id,set_name,set_value) VALUES (?,?,?)" ; PreparedStatement pstmt = sqlite_conn. prepareStatement ( sqlInsert) ; try { pstmt. setInt ( 1 , 1 ) ; pstmt. setString ( 2 , "nuclei_temp" ) ; pstmt. setString ( 3 , "" ) ; pstmt. addBatch ( ) ; pstmt. setInt ( 1 , 2 ) ; pstmt. setString ( 2 , "fingerpath" ) ; pstmt. setString ( 3 , "" ) ; pstmt. addBatch ( ) ; pstmt. setInt ( 1 , 3 ) ; pstmt. setString ( 2 , "eholepath" ) ; pstmt. setString ( 3 , "" ) ; pstmt. addBatch ( ) ; pstmt. setInt ( 1 , 4 ) ; pstmt. setString ( 2 , "nucleiexe" ) ; pstmt. setString ( 3 , "" ) ; pstmt. addBatch ( ) ; pstmt. executeBatch ( ) ; } catch ( SQLException e) { e. printStackTrace ( ) ; }
sqlite_conn. setAutoCommit ( false ) ; String sqlUpdateNucleiTemp = "REPLACE INTO setting (id, set_name, set_value) VALUES (1, 'nuclei_temp', ?)" ; PreparedStatement psUpdateNucleiTemp = sqlite_conn. prepareStatement ( sqlUpdateNucleiTemp) ; psUpdateNucleiTemp. setString ( 1 , nuclei_temp) ; psUpdateNucleiTemp. executeUpdate ( ) ; String sqlUpdateFingerPath = "REPLACE INTO setting (id, set_name, set_value) VALUES (2, 'fingerpath', ?)" ; PreparedStatement psUpdateFingerPath = sqlite_conn. prepareStatement ( sqlUpdateFingerPath) ; psUpdateFingerPath. setString ( 1 , fingerpath) ; psUpdateFingerPath. executeUpdate ( ) ; String sqlUpdateEholePath = "REPLACE INTO setting (id, set_name, set_value) VALUES (3, 'eholepath', ?)" ; PreparedStatement psUpdateEholePath = sqlite_conn. prepareStatement ( sqlUpdateEholePath) ; psUpdateEholePath. setString ( 1 , eholepath) ; psUpdateEholePath. executeUpdate ( ) ; String sqlUpdateNucleiExe = "REPLACE INTO setting (id, set_name, set_value) VALUES (4, 'nucleiexe', ?)" ; PreparedStatement psUpdateNucleiExe = sqlite_conn. prepareStatement ( sqlUpdateNucleiExe) ; psUpdateNucleiExe. setString ( 1 , nucleiexe) ; psUpdateNucleiExe. executeUpdate ( ) ; sqlite_conn. commit ( ) ;