반응형
데이터 연동- 간단한 정보입력 프로그램
간단한 정보입력 프로그램을 데이터베이스 연동을 하여 만들어 보았습니다.
지금은 뭔가 코드가 깔끔한 느낌이 아닌것 같지만...!!!
나중에는 코드도 더 깔끔하게 ,그리고 더 복잡한 프로그램을 만들어 봐야겠네요!! :)
Driver class,input class, output class 세개로 나눠서 만들었습니다~!!
package SQlite;
import java.sql.*;
import java.util.Scanner;
public class Driver { //driver class
String name; //이름
int age; //나이
String num; //전화번호
Driver(){
}
void run(){
Connection con=null;
try {
con=DriverManager.getConnection("jdbc:sqlite:student_info.db");
//sqlite 연동
Statement state=con.createStatement();
//명령어 전달 statement연동
state.executeUpdate("drop table if exists info");
//명령어 전달-info테이블이 있었으면 삭제
state.executeUpdate("create table info(name string,"
+ " age integer, num string)");
//info 테이블 생성
con.close(); //연결끊기
}catch(Exception e) {
System.out.println(e.getMessage());
}
Scanner scan=new Scanner(System.in);
for(;;) {
menu();
int select=scan.nextInt();
if (select==1) {
Input input=new Input();
input.input();
}
if(select==2) {
Output output=new Output();
output.output();
}
if(select==3) {
break;
}
}
}
void menu() {
System.out.println("menu");
System.out.println("1.input");
System.out.println("2.output");
System.out.println("3.break;");
System.out.print(">>>");
}
public static void main(String[] args) {
Driver d=new Driver();
d.run();
}
}
package SQlite;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Input {
Connection con=null;
Scanner scan=new Scanner(System.in);
Input(){
}
void input() {
try {
con=DriverManager.getConnection("jdbc:sqlite:student_info.db");
Driver d=new Driver();
Statement state=con.createStatement();
System.out.println("이름:");
d.name=scan.next();
System.out.println("나이:");
while(!scan.hasNextInt()) {
scan.next();
System.err.println("숫자만 입력가능.");
System.out.println("나이:");
}
d.age=scan.nextInt();
System.out.println("전화번호:");
d.num=scan.next();
state.executeUpdate("insert into info values"
+ "('"+d.name+"'"
+ ","+d.age+""
+ ",'"+d.num+"')"); //정보 데이터에 저장
con.close();
}catch(SQLException e) {
System.err.println(e.getMessage());
}
}
}
package SQlite;
import java.sql.*;
import java.util.*;
public class Output {
Connection con = null;
Output() {
}
void output() {
try {
con = DriverManager.getConnection("jdbc:sqlite:student_info.db");
Statement state = con.createStatement();
ResultSet rs = state.executeQuery("select * from info");
while (rs.next()) {
System.out.println(
"이름:" + rs.getString("name") +
", 나이:" + rs.getInt("age") +
", 전화번호:" + rs.getString("num"));
//정보 테이터베이스에서 가져오기
}
rs.close();
con.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
}
반응형
'(JAVA)자바 > (JAVA)자바 DB-데이터 베이스' 카테고리의 다른 글
(Mysql) 오름차순 정렬/ 내림차순 정렬 (0) | 2021.01.29 |
---|---|
(Mysql) 데이터베이스 삭제/ 테이블 삭제 (0) | 2021.01.29 |
(Mysql) 테이블 생성/데이터 추가/모든 데이터베이스 보기 (0) | 2021.01.29 |
(Mac) 맥북 Mysql 설정/실행법. (using password: NO), Mysql 패스워드 에러 (0) | 2021.01.28 |
(Mac) 맥북 mysql 다운 및 실행 (상세 버전) (6) | 2021.01.27 |
댓글