DBMS를 대체하는 RDS : AWS가 지원하는 원격 DB
MariaDB는 개발판의 버전을 10.X로 변경하여 MYSQL의 특징을 따르지 않고 MariaDB만의 특징을 분명히 하기 시작함
헷갈리면 무조건 외래키가 있는 곳을 주인으로 정하면 된다.
DB 입장에서 보면 외래키가 있는 곳이 무조건 N이고 외래키가 없는 곳은 무조건 1이다.
즉, N쪽이 무조건 연관 관계의 주인이 되는 것이다.
N쪽이 무조건 ManyToOne이 된다.
연관 관계의 주인이라고 하면 뭔가 비즈니스적으로 중요하게 느껴지지만 그것과는 전혀 상관이 없다. 그냥 N쪽인 곳이 주인이 되면 된다.
A와 -> B(FK) 관계 테이블 2개가 있을때 의존관계는 A가 B에 의존한다. A는 본인에게 없는 정보를 B에서 가져오므로 의존관계이다.
의존관계를 무시하고 지운다. drop table cascade constran
연결관계가 있으면 지울수없다.(A->B->C 일때 A부터 순서대로 지우기만 가능)
https://cafe.naver.com/hamminglab/20338
mysql > GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호';
// 계정이 이미 존재 하는데 'identified by '비밀번호' 부분을 추가하면 비밀번호가 변경된다
mysql> GRANT ALL privileges ON DB명. TO 계정아이디@locahost IDENTIFIED BY '비밀번호'; -> 로컬에서만 접속가능
mysql> GRANT ALL privileges ON DB명. TO 계정아이디@'%' IDENTIFIED BY '비밀번호'; -> 외부접속가능
DROP TABLE IF EXISTS members;
CREATE TABLE members (
row_num int(10) NOT NULL AUTO_INCREMENT primary key,
memid varchar(6) NOT NULL,
memname varchar(20) DEFAULT NULL,
addr varchar(50) NOT NULL,
birthday DATE NOT NULL,
jobcd numeric(2) DEFAULT NULL,
maileage numeric(8) DEFAULT NULL,
stat enum('Y','N') NOT NULL
);
INSERT INTO members (memid, memname, addr, birthday, jobcd, maileage, stat)
VALUES ('hong2', '홍길동', '인천 동구 송림동', '2000-05-08', '2', 500, 'Y');
select * from members;
webapp 폴더에 index.html 파일을 생성하면 서버에서 프로젝트 run시 홈페이지가 표시된다. 해당 index.html 파일 내에 로컬 주소를 링크걸수도 있다.
java 클래스 생성 > import httpservlet
source(alt+shift+s) > override
doGet, init 선택하여 오버라이드
web.xml
https://cafe.naver.com/hamminglab
1. @WebServlet -> 함수(doGet(), doPost()로 타입구분)
2. @RequestMapping
3. @PostMapping, @GetMapping
4. Restful 가장최근
Get/Post/Put/Delete
<body>
<form name = "frmLogin" method="get" action="login" encType="UTF-8">
아이디: <input type = "text" name= "user_id"><br>
비밀번호: <input type = "password" name= "user_pw"><br>
<input type ="submit" value="로그인"><input type ="reset" value="다시입력">
</form>
</body>
@WebServlet("/login") <- form 태그 action 속성에 지정된 url과 동일해야함. 그래야 form에서 해당 주소 서블릿으로 넘겨주기 가능
(중략)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
String user_id = request.getParameter("user_id"); //form에 있는 파라미터 "user_id"를 기준. 받아오는 원시적인 방법. 다른 좋은 방법이 있다..
String user_pw = request.getParameter("user_pw");
System.out.println(" 아이디: "+user_id);
System.out.println("패스워드: "+user_pw);
}
<body>
<form name = "frmInput" method= "get" action="input" encType="UTF-8">
아이디 : <input type = "text" name= "user_id"><br>
비밀번호: <input type = "password" name= "user_pw"><br>
<input type= "checkbox" name = "subject" value="java" checked>자바
<input type= "checkbox" name = "subject" value="C언어">C언어
<input type= "checkbox" name = "subject" value="JSP">JSP
<input type= "checkbox" name = "subject" value="안드로이드">안드로이드
<br><br>
<input type ="submit" value="전송"> <input type ="reset" value="초기화">
</form>
</body>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
Enumeration enu = request.getParameterNames();// Enumeration 방법으로 파라미터 받아옴. 집합체 형태로, 열거형이다.
while(enu.hasMoreElements()) {// 있을때까지 돌림
String name = (String)enu.nextElement();
String[] values = request.getParameterValues(name); //값들을 하나씩 배열로 던짐
for(String value: values) {
System.out.println("name= "+ name + " ,value=" + value);
}
}
}
MIME TYPE(마인 타입) 일종의 기준이다.
C:\apache-tomcat-9\conf\web.xml 파일에 있음.
여기 정의된 타입만 인식가능
xshell
https://wakestand.tistory.com/632