JAVA(STS)
[JSP] sqlite3 DB를 이용하여 python 파일 값 java로 받아오기
걍작
2022. 5. 6. 14:57
#정리
#sqlite-jdbc 라이브러리 설치
- pom.xml파일<dependencies>에 dependency 추가 후 저장
#DB 연결
- 드라이버 등록 : Class.forName("org.sqlite.JDBC");
- DB 커넥션 : conn = DriverManager.getConnection("jdbc:sqlite:"+db_file_path);
- DB 통신 : pstmt = conn.prepareStatement(쿼리문); / rs = pstmt.executeQuery();- Statement 종료(예외 처리 및 메모리 누수 방지)
--전체 예문 보기--
더보기
package zemi.com.stock;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import zemi.com.stock.model.StockVO;
public class sqlite2 {
private static final Logger logger = LoggerFactory.getLogger(sqlite2.class);
public static Connection conn = null;
public static PreparedStatement pstmt = null;
public static ResultSet rs = null;
public static void getConn() {
try {
Class.forName("org.sqlite.JDBC");
logger.info("conn successed....");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void selectAll() {
logger.info("selectAll()..");
List<StockVO> vos = new ArrayList<StockVO>();
try {
String db_file_path = "C:\\kosta_iot\\python\\zemiFinal\\marketInfo.db";
conn = DriverManager.getConnection("jdbc:sqlite:"+db_file_path);
logger.info("driver successed...");
pstmt = conn.prepareStatement("select * from marketinfo");
rs = pstmt.executeQuery();
while(rs.next()) {
StockVO vo = new StockVO();
String stockcode = rs.getString("stockCode");
String stockname = rs.getString("stockName");
vo.setStockcode(stockcode);
vo.setStockname(stockname);
vos.add(vo);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}//end finally
System.out.println(vos);
}//end selectAll
public static void main(String[] args) {
getConn();
selectAll();
}
}
#sqlite-jdbc 라이브러리 설치
- pom.xml파일<dependencies>에 dependency 추가 후 저장
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.36.0.3</version>
</dependency>
#DB 연결
- 드라이버 등록 : Class.forName("org.sqlite.JDBC");
public static void getConn() {
try {
Class.forName("org.sqlite.JDBC");
logger.info("conn successed....");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
- DB 커넥션 : conn = DriverManager.getConnection("jdbc:sqlite:"+db_file_path);
try {
String db_file_path = "C:\\kosta_iot\\python\\zemiFinal\\marketInfo.db";
conn = DriverManager.getConnection("jdbc:sqlite:"+db_file_path);
logger.info("driver successed...");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- DB 통신 : pstmt = conn.prepareStatement(쿼리문); / rs = pstmt.executeQuery();
pstmt = conn.prepareStatement("select * from marketinfo");
rs = pstmt.executeQuery();
while(rs.next()) {
StockVO vo = new StockVO();
String stockcode = rs.getString("stockCode");
String stockname = rs.getString("stockName");
vo.setStockcode(stockcode);
vo.setStockname(stockname);
vos.add(vo);
}
- Statement 종료(예외 처리 및 메모리 누수 방지)
finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}//end finally
# 실행 결과