DB 7일차(java, sql 연결 insert)
2022. 12. 15. 12:33ㆍ코딩배움일지/DataBase
1건 입력
package main.java.com.study.jdbc.main.dml;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
import main.java.com.study.jdbc.util.DBConnection;
public class jdbcInsert1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("등록할 아이디 입력: ");
String username = scanner.nextLine();
Connection con = DBConnection.getInstance().getConnection();
String sql = " insert into user_mst values(0,?)";
try {
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setString(1, username);
int successCount = pstmt.executeUpdate(); /* 여기에 표시한다.*/
System.out.println("데이터 " + successCount + "건 등록완료!"); /*몇 행이 들어가는 지*/
} catch (SQLException e) {
e.printStackTrace();
}
}
}
int successCount = pstmt.executeUpdate(); /* 여기에 표시한다.*/
System.out.println("데이터 " + successCount + "건 등록완료!"); /*몇 행이 들어가는 지*/
새로 입력된다.
다중입력
package main.java.com.study.jdbc.main.dml;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class JdbcInsert2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> usernameList = new ArrayList<>();
while(true) {
System.out.print("등록할 아이디 입력: ");
usernameList.add(scanner.nextLine());
System.out.print("아이디를 추가로 등록하시겠습니까?(Y/y, 취소하려면 아무키나 입력하세요.)");
if(!"yY".contains(scanner.nextLine().substring(0, 1))) { /*0번 인덱스에서 1번 전까지*/
break;
}
}
System.out.println(usernameList);
}
}
substring 에서 isBlank 로 바꿈
package main.java.com.study.jdbc.main.dml;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class JdbcInsert2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> usernameList = new ArrayList<>();
while(true) {
System.out.print("등록할 아이디 입력: ");
usernameList.add(scanner.nextLine()); /*입력 받고*/
System.out.print("아이디를 추가로 등록하시겠습니까?(Y/y, 취소하려면 아무키나 입력하세요.)");
String selected = scanner.nextLine();
if(!"yY".contains(selected.isBlank() ?"n" : selected)) {
break;
}
}
System.out.println(usernameList);
}
}
--------------------------확인하기-------------------------------
Connection con = DBConnection.getInstance().getConnection();
String prefixSql = "insert int user_mst values";
String valuesBody = ""; /*반복될 수 있게 만들자*/
String suffixSql = ";";
for(int i = 0; i< usernameList.size(); i++) {
valuesBody += "(0, ?)";
if(i < usernameList.size()-1) { /*i 가 작다면*/
valuesBody += ", ";
}
}
System.out.println(valuesBody);
try {
PreparedStatement pstmt = con.prepareStatement(prefixSql + valuesBody + suffixSql);
} catch (SQLException e) {
e.printStackTrace();
}
package main.java.com.study.jdbc.main.dml;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import main.java.com.study.jdbc.util.DBConnection;
public class JdbcInsert2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<String> usernameList = new ArrayList<>();
while(true) {
System.out.print("등록할 아이디 입력: ");
usernameList.add(scanner.nextLine()); /*입력 받고*/
System.out.print("아이디를 추가로 등록하시겠습니까?(Y/y, 취소하려면 아무키나 입력하세요.)");
String selected = scanner.nextLine();
if(!"yY".contains(selected.isBlank() ?"n" : selected)) { /*0번 인덱스에서 1번 전까지*/
break;
}
}
Connection con = DBConnection.getInstance().getConnection();
String prefixSql = "insert into user_mst values";
String valuesBody = ""; /*반복될 수 있게 만들자*/
String suffixSql = ";";
for(int i = 0; i < usernameList.size(); i++) {
valuesBody += "(0, ?)";
if(i < usernameList.size()-1) { /*i 가 작다면*/
valuesBody += ", ";
}
}
// System.out.println(valuesBody);
try {
PreparedStatement pstmt = con.prepareStatement(prefixSql + valuesBody + suffixSql);
for(int i = 0; i <usernameList.size(); i++) {
pstmt.setString(i + 1, usernameList.get(i));
}
int successCount = pstmt.executeUpdate();
System.out.println(successCount + "건 등록완료!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
'코딩배움일지 > DataBase' 카테고리의 다른 글
DB 8일차 1(DCL) (0) | 2022.12.16 |
---|---|
DB 7일차 (update) (0) | 2022.12.15 |
DB 7일차 2-1(조건을 주고싶을때) (0) | 2022.12.15 |
DB 7일차 2() (0) | 2022.12.15 |
DB 7일차(java, sql 연결 select) (0) | 2022.12.15 |