본문 바로가기

자바, 파이썬

[자바, 파이썬] 데이터베이스 사용

자바

자바 - JDBC 드라이버(중간 연결) - MySQL

MySQL 용 JDBC 드라이버: https://dev.mysql.com/downloads/connector/j/

  1. 프로젝트에 lib폴더를 만들고 다운받은 jar파일을 넣기
  2. 프로젝트 오른쪽 클릭 - Properties - Java Build Path - Add JARS... - lib폴더에 넣은 jar파일 추가

MySQL에서 사용하려는 인스턴스, 데이터베이스 확인 ->

"jdbc:mysql://localhost:3306/memo"

 

public static void main(String[] args) {
    try {

        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/memo","유저이름","패스워드");

        Statement statement = connection.createStatement();

        statement.executeUpdate("insert into account values (3,'Jack')");

        ResultSet resultSet = statement.executeQuery("select * from account");
        while(resultSet.next()) {
            System.out.println(resultSet.getString("name"));
        }
        
        PreparedStatement preStatement = connection.prepareStatement("insert into account values (?,?)");
        preStatement.setInt(1,4);
        preStatement.setString(2,"Joe");
        preStatement.executeUpdate();

    }
    catch (Exception e) {
        e.printStackTrace();
    }
    finally {
    	if(resultSet != null){
        	try{
            	resultSet.close();
            }
            catch(Exception e){
            	e.printStackTrace();
            }
         }
    }
}
  • Statement: SQL문 사용
  • statement.executeUpdate: 값을 변경하는 sql 사용시 / 변화를 준 행 수 반환
  • statement.executeQuery:   값을 가져오는 sql 사용시 / ResultSet 객체 반환

 

  • PreparedStatement: SQL문에 포매팅을 할 때 사용
  • SQL문 안에 포매팅할 변수를 ?로 넣기
  • preStatement.setInt(변수 번호, 값)
  • preStatement.setString(변수 번호, 값)
  • 그 후 preStatement.executeUpdate 또는 preStatement.executeQuery

resultSet.isBeforeFirst(): 특정 값이 쿼리한 데이터베이스에 이미 있는지(true) 없는지(false) 확인할 때

alert.setcontenttext: Alert 객체(Alert 창)의 문구 설정

javafx Initializable: fxml파일을 컨트롤하는 모든 Controller 클래스가 implements해야 하는 것. root가 처리된 후 Controller를 초기화.

버튼.setOnAction(new EventHandler<ActionEvent>() {
   @Override
   public void handle(ActionEvent event) {

      ~

   }

});


파이썬

자바 - 커넥터 (중간 연결) - MySQL

MySQL용 커넥터 링크: https://dev.mysql.com/downloads/connector/python/#:~:text=MySQL%20Connector%2FPython%20is%20a,MySQL%20Connector%2FPython%20Installation%20Instructions

또는

pip install mysql-connector

 

mysql-connector이 설치된 폴더를 프로젝트의 Lib - site-packages 안에 넣기

 

import mysql.connector

db = mysql.connector.connect(
    host = "localhost",
    user = "유저 이름",
    passwd = "패스워드"
)

mycursor = db.cursor();
mycursor.execute("SQL문");
mycursor.execute("insert into Account (id, name) values (%d,%s)",(1,"Jack")) # 포매팅 사용시
db.commit() # 값을 변경하는 SQL문 사용시

for x in mycursor: # 가져온 값을 출력
    print(x)
    
accounts = [(2,"Nick"), (3,"James"), (4,"Joe")]
mycursor.executemany("insert into Account (id, name) values (%d,%s)",accounts)

for x, account in enumerate(accounts):

   ~

   current_id = mycursor.lastrowid

   ~

'자바, 파이썬' 카테고리의 다른 글

[자바, 파이썬] OpenCV  (0) 2022.06.13
[자바, 파이썬] 서버 - 클라이언트 사용  (0) 2022.06.05
[자바, 파이썬] 기본 문법  (0) 2022.06.04
[자바, 파이썬] Regex 사용  (0) 2022.06.03
[자바, 파이썬] GUI 사용  (0) 2022.06.02