목록데이터베이스 (11)
seong
Windows에서 재부팅 한 이후 다시 서버를 실행 시키려 했는데 windows can't connect to mysql server on 127.0.0.1 에러가 발생했다. 해결 방법 1. 윈도우 검색에서 Service 검색 2. MariaDB를 찾아서 "상태"를 실행으로 바꿔준다.
https://kitty-geno.tistory.com/55
테이블 생성 예제로 바로 알아보기 CREATE TABLE customer( id number(9,0), username varchar2(12) not null, -- 유저의 이름 12자리 null 불가능 password varchar2(20) not null, -- 비밀번호 20자리 null 불가능 email varchar2(50), -- email 50 자리 null 가능 CONSTRAINT customer_pk PRIMARY KEY(id), -- id가 customer의 프라이 머리키가 된다. CONSTRAINT customer_username_uk UNIQUE(username) -- username은 중복이 없는 값이 되고, null값을 가질수 없게된다. ); 시퀀스 생성 1 1. 왼쪽에 시퀀스 오..
1. Connection 생성 2. 테이블마다의 엔티티 생성 3. Getter 생성 , Setter는 잘 안만든다. (set은 변경이 필요한 메서드를 만들어 필요한 부분만 변경하게 한다. ) 4. 기본 5가지 메서드가 있는 Dao를 만든다 (생성,삭제,수정,모두보기,한건만보기) : 기본 메서드이다. 5. 마지막으로 Service를 만든다 6. 트랜젝션 관리 (추가, 삭제가 있는 메서드만 관리 해주면 된다.)
service 패키지 내부 클래스 만들기 직원(emp)과 부서(dept)들의 DB의 기본 파일(엔티티,메서드,Connection)들을 가져온다 MyService 작성 MyService의 역할 메서드를 통해 실행 서비스를 가능하게 해주는 클래스 이기 때문에 empDao,deptDao가 모두 갖는다. Myservice는 empDao, deptDao가 없다면 실행을 할 수 없는 서비스이다, 즉 의존성을 갖게 된다. 하지만 여기서 MyService는 empDao인가? ->불가능 하다,즉 상속을 받을수 없다. 그래서 컴포지션을 하게된다.(has , 가진다 라고 생각하면 이해가 더 잘된다.) => MyService는 empDao,deptDao를 가진다(has) 컴포지션 작성 1. 필요한 클래스를 변수화 시켜준다. ..
직업별 월급 평균 구하기 UNION ALL 은 합쳐주는 역할을 한다. JOB이 같은 값들끼리 sal의 평균을 출력해주는 코드(필요 하지 않는 계산들은 모두 null값 처리 해주었다.) SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno FROM emp WHERE job = 'ANALYST' UNION ALL SELECT '소계', round(avg(sal), 2), null, null, null, null, null, null FROM emp WHERE job = 'ANALYST' UNION ALL SELECT job, sal, ename, hiredate, mgr, comm, deptno, empno FROM emp WHERE job = 'CLERK..
자바로 DB를 작성 해줄 경우 책임을 분리해 작성 해주는것이 좋다 . 1. DBConnection package db; import java.sql.Connection; import java.sql.DriverManager; // DB 연결 해줄 클래스 public class DBConnection { static Connection connection() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "SCOTT", // 아이디 "TIGER"// 비밀번호 ); return conn; } catch..
INSERT 행을 추가 할 수 있다. 사용법 테이블의 열의 갯수,값이 알맞게 입력이 되어야 한다. INSERT INTO emp5(empno, ename, job,mgr, hiredate, sal, comm, deptno) VALUES(9999,'cos', 'SALESMAN', 7369, sysdate, 600, 0 , 10); sysdate는 오늘 날짜를 확인 해주는 속성이다. COMMIT INSERT문은 작성해주고 나면 메모리에만 남아있다,즉 컴퓨터를 재부팅 시 없어지는 데이터이다. 영구적 테이블 추가를 해주기 위해 COMMIT 을 해준다. ROLLBACK INSERT를 해주고 COMMIT을 해주기 전 ROLLBACK을 해주면 메모리에 있던 데이터가 사라진다. 코드를 보면서 확인 empno가 9999인..