전체 글333 2) 프로젝트설정,jpa 기초 maven pom.xml 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.199 persistence.xml persistence가 persistence.xml을 읽어서 entitymanagerFactory라는 클래스를 생성한다.그다음 필요할때마다 .. 인프런/자바 ORM 표준 JPA 프로그래밍 - 기본편 2024. 5. 20. 트리거 Trigger 트리거 Trigger 트리거는 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생하 때마다 자동적으로 수행되는 사용자 정의 프로시저이다. 트리거는 TABLE과는 별도로 DATABASE에 저장된다. 트리거는 VIEW에 대해서가 아니라 TABLE에 관해서만 정의될 수 있다. 트리거는 SQL의 제약조건 방법을 통해 명시할 수 없는 무결성 제약조건을 구현하고, 관련 테이블의 데이터를 일치시킬 때 주로 사용된다. 제약조건과 함께 데이터 무결성을 지키는 하나의 방법으로써 특정 이벤트에 대해서 연속적으로 자동 동작하는 특수한 형태의 저장 프로시저라고 볼 수 있다. 일반적으로 사용처는 많지만 예를 들어보자면 "입고"테이블에 새로운 제품이 들어왔을 때 그 수량을 "재고"테이블에 자동으로 반영되게 하는.. 데이터베이스/Oracle 2024. 4. 9. Sequence 시퀀스 오라클에서는 자동 증가 컬럼을 사용할 수가 없다. 다른 DB에서는 컬럼 자체에 옵션이 있으나, 오라클에서는 컬럼의 값을 증가시키기 위해서는 MAX(컬럼) + 1 또는 시퀀스를 사용하여 일련번호를 부여해야 한다. 시퀀스 사용전 방법 1. count를 이용하는 방법 -> 에러발생 insert into board(boardid, title) VALUES ((select count(*) from BOARD)+1,'1번글'); insert into board(boardid, title) VALUES ((select count(*) from BOARD)+1,'2번글'); insert into board(boardid, title) VALUES ((select count(*) from BOARD)+1,'3번글'); .. 데이터베이스/Oracle 2024. 4. 4. view (뷰) 뷰(View) 뷰(View)는 하나 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터베이스 객체입니다. 실제 데이터는 뷰를 구성하는 테이블에 담겨 있지만 마치 테이블처럼 사용할 수 있습니다. 또한 테이블 뿐만 아니라 다른 뷰를 참조해 새로운 뷰를 만들어 사용할 수 있습니다. 뷰는 실제로 데이터를 저장하고 있지는 않지만 DML 작업이 가능한 가상의 테이블이라고 생각하면 된다. 뷰(View)의 사용 목적 여러개의 테이블에서 필요한 정보를 뽑아 사용할때가 많습니다. 이때 좀 더 편리하게 사용할 수 있는 방법중의 하나가 바로 뷰입니다. 뷰를 사용하면 복잡한 질의를 쉽게 만들어 줍니다. 여러테이블의 JOIN과 GROUP BY 같은 같은 복잡한 쿼리를 view로 저장시켜놓으면 다음부터는 저장한 view.. 데이터베이스/Oracle 2024. 4. 4. 클래스,생성자 클래스, 생성자 class Person { constructor(name, age) { // 생성자 메소드 이름은 자바와 다르게 constructor 이다. this.name = name; // 필드는 명시적으로 선언하지않고 생성자에서 초기화된다. this.age = age; // 이렇게해도 사용할 수 있음. } speak() { // 함수도 포함가능 console.log(`${this.name} : hello `); } get age() { // 자바스크립트에서 게터(getter) //age의 getter를 정의하는 순간 this.age를 쓰는곳에서는 이 getter를 호출하게된다. return this.age; } set age(value) { // 자바스크립트에서 세터(setter) //age의 s.. 자바스크립트 2024. 4. 3. 가상컬럼 가상 컬럼 하나의 테이블에 존재하는 다른 컬럼들을 이용하여 새로운 값을 만들어 내는 것 ( Virtual Column은 테이블에있는 하나 이상의 컬럼값을 기반으로 계산식을 적용할 수 있는 기능이다.) 컬럼명 타입 GENERATED ALWAYS AS 표현식 VIRTUAL create table vtable ( no1 number, no2 number, no3 number GENERATED ALWAYS as (no1+no2) virtual ) insert into vtable(no1, no2) values (100, 200); 가상열에는 insert를 할 수 없다. ( 오류발생함) select * from vtable; 데이터를 업데이트 해도 update vtable set no1 = 300 where no.. 데이터베이스/Oracle 2024. 4. 3. oracle 테이블 복사 및 구조 복사 , PL-SQL(반복문) PL-SQL (반복문) Begin for i in 1..100 loop insert into temp2(id) values ('A' || to_char(i)); end loop; end; 테이블 구조 및 데이터 복사하기 CREATE TABLE 신규테이블명 AS SELECT * FROM 복사할테이블명 [WHERE] /* 새로운 테이블을 생성하고 원하는 테이블 구조(복제): 스키마 + 데이터 삽입 단점 : 제약은 복제가 안된다 ( pk, fk) 순수한 데이터 구조 + 데이터가 복사된다. */ create table copyemp as select * from emp; select * from copyemp; 테이블이 존재할경우 데이터만 복사하기 테이블이 존재할경우, 데이터만 복사하기(구조가 같은경우) INS.. 데이터베이스/Oracle 2024. 4. 3. 변수,<script>(async vs defer), 'use strict' , 템플릿 리터럴, (==,===), function 변수 자바스크립트는 C나 Java외는 다르게 변수를 선언할 때 데이터 타입을 미리 지정하지 않는다. 다시 말해, 변수에 할당된 값의 타입에 의해 동적으로 변수의 타입이 결정된다. 이를 동적 타이핑이라 하며 자바스크립트가 다른 프로그래밍 언어와 구별되는 특징 중 하나이다. // Number let num1 = 1001; let num2 = 10.50; // String let string1 = 'Hello'; let string2 = "World"; // Boolean let bool = true; // null let foo = null; // undefined let bar; // Object let obj = { name: 'Lee', gender: 'male' }; // Array let array.. 자바스크립트 2024. 4. 2. 서브쿼리 (subQuery) [스칼라,인라인 뷰,중첩] // all any some 연산자 서브 쿼리는 메인 쿼리 내부에 작성하는 쿼리를 뜻하며, 주로 아래의 3가지 서브 쿼리로 분류한다. 스칼라 서브 쿼리 SELECT 절에 위치하며 칼럼의 역할을 하므로 해당 서브쿼리의 결과는 반드시 단일 행 or 단일 값으로 리턴되어야 한다. *다중 행 값이 조회되면 "ORA-01427: single-row subquery returns more than one row" 라는 오류가 발생하므로 주의 만약을 대비해서 서브 쿼리 마지막에 AND ROWNUM = 1을 붙이기도 함 [한개만 반환되게] select e.EMPNO, e.ENAME, e.DEPTNO, (select d.DNAME from dept d where d.DEPTNO = e.DEPTNO) as dname from emp e where e.sal.. 데이터베이스/Oracle 2024. 4. 2. inner Join, Outer Join Oracle Join , ANSI Join 오라클에서 조인을 할 때 오라클 조인(Oracle Join)과 안시 조인(ANSI JOIN)을 사용할 수 있다. 오라클 9i 까지는 오라클 조인만 사용할 수 있으며, 오라클 10g부터는 안시 조인을 추가로 사용할 수 있다. 최근 구축되는 시스템은 대부분 안시 조인을 사용하지만, 과거에 구축되어 있는 시스템은 오라클 조인을 많이 사용하고 있기 때문에 오라클 조인 방식도 꼭 알고 있어야 한다. --오라클 조인 ( 옛날 기술 ) select * from m, S where m.m1 = s.S1; select m.m1, m.m2, s.s2 from m, S where m.m1 = s.s1; ---------------- -- ansi ( 현업 ) select * fro.. 데이터베이스/Oracle 2024. 4. 2. 12) 스프링 트랜잭션 전파 기본 (1) [미완] 스프링 트랜잭션 전파1 - 커밋, 롤백 트랜잭션이 둘 이상 있을 때 어떻게 동작하는지 자세히 알아보고, 스프링이 제공하는 트랜잭션 전파(propagation)라는 개념도 알아보자. 트랜잭션 전파를 이해하는 과정을 통해서 스프링 트랜잭션의 동작 원리도 더 깊이있게 이해할 수 있을 것이다. 먼저 간단한 스프링 트랜잭션 코드를 통해 기본 원리를 학습하고, 이후에 실제 예제를 통해 어떻게 활용하는지 알아보겠다. 간단한 예제 코드로 스프링 트랜잭션을 실행해보자. BasicTxTest @Slf4j @SpringBootTest public class BasicTxTest { @Autowired PlatformTransactionManager txManager; @TestConfiguration static class.. 인프런/스프링 DB 2편 2024. 3. 29. 수정된 코드사항 다 버리기 수정된 코드를 버리고 이전 상태로 돌아가려면 Git에서 git checkout 명령어를 사용할 수 있습니다. 이를 이용하면 수정한 파일을 이전 커밋의 상태로 되돌릴 수 있습니다. 다음은 그 방법입니다: git checkout -- 위 명령어에서 자리에는 되돌리고자 하는 수정된 파일의 이름을 넣어주시면 됩니다. 이렇게 하면 해당 파일의 수정 사항이 버려지고 이전 상태로 되돌아갑니다. 만약에 모든 수정된 파일을 이전 상태로 되돌리고 싶다면 다음 명령어를 사용합니다: git checkout -- . 위 명령어에서 .은 현재 디렉토리를 의미하며, 모든 수정된 파일을 가리킵니다. 이렇게 되돌리고 나면 수정된 내용이 모두 사라지므로 주의해서 사용하시기 바랍니다. 문제해결 2024. 3. 25. 이전 1 ··· 4 5 6 7 8 9 10 ··· 28 다음