[자바] 도서관리 #4 Book 통합(MySql 사용)
-
- 설명
- 지금까지 가장 가벼운 데이터베이스인 Sqlite를 사용했는데
- 도서관리 프로그램을 데이터베이스 MySql을 사용하도록 변경
- 단, Sqlite를 사용하는 도서관리 프록그램이 이해가 안되는 학생은 과제 4번은 하지 마세요.
- Sqlite라도 완전하게 이해하길
- DB를 변경하면 DAO만 변경하면 됨
- 단, 기존의 Sqlite용 UI와 별도로 MySql용 UI를 만들기로 함
- 기존 UI : BookManage.java
- 새 UI : BookManage_MySql.java
- 둘의 차이는 DAO를 부르는 곳만 다름
- MySql을 사용하기 위해서는 APM을 설치하는 것이 편리
- 이 사이트의 자바에서 MySql 사용하기 참조
- 설치는 밤을 새더라도 스스로 또는 팀원들끼리 해결하세요
- 설치에 대한 질문 사절 -> 스스로 해결
- 프로그램 설치는 본인의 컴퓨터 환경에 따라 다름
- 직접 컴퓨터 상태를 보지 않고 알려주기는 매우 어려움
- 참고 자료
- 자바에서 MySql 사용하기
- 기타 필요한 것은 1차로 이 홈페이지에서 검색
2차로 google에서 검색
- 기본 정보
- 제출일시 : 07월 03일 24시
- 제출방법 : http://smart9.iwinv.net/final/ 에 글쓰기로 저장
계정은 카톡으로
(현재 보는 페이지와 유사하게 글쓰기) - 오류가 생겨 해결이 안될 때
- naver, google에서 검색해서 본인 어떻게든 해결
- Run – Debug 메뉴를 통해 1단계씩 실행시키면서 오류 찾기
- Run-Debug 기능이 느리지만 가장 효과적으로 실력이 향상됨
- 그래도 안되면 같은 조원들에게 묻기
- 그래도 안되면 언제든지 단톡에 묻기
- 답을 해줄 수 있는 학생이 답해주고,
- 그래도 안되면 내가 답해주겠음
(단, 컴파일 오류는 알려주지 않음, 실행오류만 묻길 바람)
- naver, google에서 검색해서 본인 어떻게든 해결
- 실행결과
- mybook 데이터 베이스 생성 : 위 자바에서 MySql 사용하기를 참조해야 함
- Apache, PHP, Mysql 통합 프로그램 autoset 프로그램 설치
- JDBC-MySql 드라이버 다운로드 및 lib 폴더에 복사
- http://localhost/phpmyadmin 실행
- mybook 데이터베이스 생성
- tbook 테이블 생성
- 테이블의 필드와 DTO의 멤버필드 관계를 엑셀로 정리 : 다운로드
- BookDAO_MySql.java 소스 : BookDAO.java를 참조
getConn() 만 변경하면 됨
12345678910111213141516171819package kr.co.moak.summer2019;public class BookDAO_MySql {String tableName = "tbook";/** DB연결 메소드 */public Connection getConn() {Connection con = null;try {Class.forName(MyConst.DRIVER); // 1. 드라이버 로딩con = DriverManager.getConnection(MyConst.URL, MyConst.USER, MyConst.PASS); // 2. 드라이버 연결} catch (Exception e) {e.printStackTrace();}return con;}}- 위 코드에는 오류가 2군데 있음, 고쳐서 사용하세요.
- Vector 자료형에 대해서 조사해 보세요(자바 교재 7장)
- BookManage_MySql.java 소스 : BookManage.java 참조하여 변경
BookDAO를 BookDAO_MySql로만 변경하면 됨
12345678910111213141516171819202122232425262728293031323334353637383940package kr.co.moak.summer2019;public class BookManage_MySql extends JFrame implements ActionListener, MouseListener {JTextField tfTitle;JTextField tfPric;JTextField tfPubl;DefaultTableModel model;JTable table;public BookManage_MySql() {BookDAO_MySql dao = new BookDAO_MySql();}public static void main(String[] args) {// TODO Auto-generated method stubnew BookManage_MySql();}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubBookDAO_MySql dao = null;switch(e.getActionCommand()) {case "저장":dao = new BookDAO_MySql();}}@Overridepublic void mouseClicked(MouseEvent e) {// TODO Auto-generated method stubBookDAO_MySql dao = new BookDAO_MySql();}} - BookDTO.java 소스 : 변경없음
1234567891011121314151617181920212223242526package kr.co.moak.summer2019;public class BookDTO {int _id;String title;int pric;String publ;public BookDTO() {}public BookDTO(String title, int pric, String publ) {this.title = title;this.pric = pric;this.publ = publ;}public int get_id() {return _id;}public void set_id(int _id) {this._id = _id;}// 기존의 Getter/Setter 이곳에 추가} - 교수참조 : 구글 드라이브의 내가만든 소스코드에 Summer2019_20190627.zip 파일 올려놨음
- 설명