引入 依赖
< 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 ( ) ;