๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ191 ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 28 ๋ค์ [Querydsl] SpringDataJPA + Querydsl + ์ฌ์ฉ์ ์ ์ ์ธํฐํ์ด์ค ์ฌ์ฉ์ ์ ์ ์ธํฐํ์ด์ค ์์ฑ public interface MemberRepositoryCustom { List search(MemberSearchCondition condition); } SpringDataJPA๊ฐ ์ ๊ณตํ๋ ๋ฉ์๋ ์ธ์ ํ์ํ ๋ฉ์๋๊ฐ ์์ ๋ ์ฌ์ฉ์ ์ ์ ์ธํฐํ์ด์ค ๊ตฌํ public class MemberRepositoryImpl implements MemberRepositoryCustom { private final JPAQueryFactory queryFactory; public MemberRepositoryImpl(EntityManager em) { this.queryFactory = new JPAQueryFactory(em); } @Override //ํ์๋ช , ํ๋ช , ๋์ด(ag.. 2024. 1. 7. [Querydsl] DTO ์กฐํ ๋ฐฉ๋ฒ ์์ JPA์์ DTO ์กฐํ List result = em.createQuery( "select new study.querydsl.dto.MemberDto(m.username, m.age) " + "from Member m", MemberDto.class) .getResultList(); new ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด์ผํจ DTO์ package์ด๋ฆ์ ๋ค ์ ์ด์ค์ผํจ ์์ฑ์ ๋ฐฉ์๋ง ์ง์ํจ Querydsl ๋น ์์ฑ(Bean population) ๊ฒฐ๊ณผ๋ฅผ DTO ๋ฐํํ ๋ ์ฌ์ฉํจ 3๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ง์ํจ ํ๋กํผํฐ ์ ๊ทผ ํ๋ ์ง์ ์ ๊ทผ ์์ฑ์ ์ฌ์ฉ [ํ๋กํผํฐ ์ ๊ทผ - Setter] List result = queryFactory .select(Projections.bean(MemberDto.class, member.user.. 2024. 1. 7. [Oracle] SQL ํจ์ NVL ํจ์ NULL๊ฐ์ ํฌํจํ๋ ์ปฌ๋ผ์ ์ง์ ๋ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๋๋ฐ ์ฌ์ฉ. ์ผ์์ ์ผ๋ก NULL์ธ ์ปฌ๋ผ์ ๊ฐ์ ๋์ฒดํ๊ธฐ์ํ๊ฒ NVLํจ์๋ ๋ชจ๋ ๋ฐ์ดํฐํ์ ์ ์ ์ฉ ๊ฐ๋ฅ. NVLํจ์๋ ์ฌ์ฉํ ๋ ๋ณ๊ฒฝ๋๋ ๊ฐ์ ๋ฐ์ดํฐํ์ ๊ณผ ์ผ์นํด์ผํจ. NVL ( A, B ) A: NULL๊ฐ์ ํฌํจํ๊ณ ์๋ ์ปฌ๋ผ/์ B: ๋ณ๊ฒฝํ๋ ค๋ ๊ฐ (๋์ฒดํ ๊ฐ) NVLํจ์์ ๋ฌธํ ์ ํ ์์ NUMBER NVL( commission_pct , 0 ) DATE NVL( start_date, ‘17/01/01’ ) CHAR, VARVHAR2 NVL( mailid , ‘์์’ ) ๋ฏธ๊ตญํ์ค์ธ COALESCE ํจ์๋ ๊ฐ์ ๊ธฐ๋ฅ. DECODE ํจ์ ์ค๋ผํด ์๊ทธ๋์ณ ํจ์. ๊ฐ์ ๋น๊ตํ์ฌ ํด๋นํ๋ ๊ฐ์ ๋๋ ค์ฃผ๋ ํจ์. DECODE ( ํ์, ๋น๊ต๊ฐ1, ๊ฒฐ๊ณผ๊ฐ1.. 2024. 1. 6. [Oracle] OBJECT ์ค๋ธ์ ํธ Object ์ฉ์ด์ ์ข ๋ฅ์ ๊ธฐ๋ฅ ํ ์ด๋ธ ํ&์ด์ ์กฐํฉ. ๊ธฐ๋ณธ์ ์ฅ๋จ์. 2์ฐจ๋ฐฐ์ด. ๋ทฐ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋ถ๋ถ์งํฉ. ReadOnly. ๊ฐ์ํ ์ด๋ธ ์ํ์ค ์๋์ผ๋ก ๊ณ ์ ํ ์ซ์๊ฐ์ ์์ฑ ์์) ๊ฒ์ํ์์ ๋ฒํธ ์๋์ผ๋ก ์ฌ๋ผ๊ฐ ์ธ๋ฑ์ค ์ฟผ๋ฆฌ ์๋๋ฅผ ํฅ์. ๋นจ๋ฆฌ ๊ฒ์ํ๊ธฐ ์ํจ. โ ์ ๋ ฌ๋์ด์๊ณ โก์์น๋ฅผ ์๋ ค์ค ํธ๋ฆฌ๋ก ๊ตฌ์ฑ. ๋ง๋ค์๋ค๊ณ ๊ผญ ์ฌ์ฉ๋๋๊ฒ์ ์๋. ์๋ ธ๋ Object์ ๋๋ค๋ฅธ ์ด๋ฆ. Alias์ญํ ๋ณ๋ช ์ ์ฌ์ฉํ๋ฉด ์คํ๋ฐฉ์ง์ ์ ์ฉํ๋ค ํ๋ก๊ทธ๋จ ์ ๋ SQL, PL/SQL๋ฌธ์ผ๋ก ์์ฑํ Procedure, Function, Trigger, Pakage SEQUENCE ์ํ์ค ์๋์ผ๋ก ์ ๋ํฌํ number์ ์์ฑํจ.(์ค๊ฐ์ GAP๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์์) ๊ณต์ ๊ฐ๋ฅํ ์ค๋ธ์ ํธ. ์ผ๋ฐ์ ์ผ๋ก PK์์ฑ์ ์ํด์ ์ฌ์ฉํจ... 2024. 1. 6. [๋ถํธ์คํธ๋ฉ] ํ๋ฉด ์ฝ๊ฒ ๊พธ๋ฏธ๊ธฐ ๋ถํธ์คํธ๋ฉ ํํ์ด์ง์์ ํ์ํ ๊ธฐ๋ฅ ์ฐพ๊ธฐ https://getbootstrap.kr/docs/5.3/components/buttons/ ๋ฒํผ ๋ค์ํ ํฌ๊ธฐ, ์ํ ๋ฑ์ ์ง์ํ๋ ํผ, ๋ํ์์ ๋ฑ์ ์์ ์ Bootstrap์ ์ฌ์ฉ์ ์ง์ ๋ฒํผ ์คํ์ผ์ ์ฌ์ฉํ์ธ์. getbootstrap.kr HTMLํ๊ทธ์ ์ ์ ํ class๋ฅผ ์ถ๊ฐํด์ ๊พธ๋ฏธ๊ธฐ ์ํ๋ ํ์ด์ง ๋ฏธ๋ฆฌ ๊ตฌ์ํ๊ธฐ ๋ ์ด์์์ ์ก๊ณ ๊ฐ ํ๊ทธ์ ๋ถํธ์คํธ๋ฉ class๋ฅผ ์ถ๊ฐํ๋ค ํ์๋ฆฌํ ํ๊ทธ๋ฅผ ์ ์ฉํด์ ํ๋ก์ ํธ์ ์ฐ๊ฒฐํด์ ์ฌ์ฉํ๊ณ ์ดํ ๋ค๋ฌ์ด์ ์ฌ์ฉํ๋ฉด ๋จ 2024. 1. 5. [Oracle] DCL ๋ฐ์ดํฐ ์ ์ด์ด ๊ถํ Privilege ์์คํ ๊ถํ ํน์ ํ SQL๋ฌธ์ฅ์ ์คํํ ์ ์๋ ๊ถํ ์ค๋ธ์ ํธ ๊ถํ ํน์ ํ Object์ ๋ํ ์ ๊ทผ์ ์ ์ดํ๋ ๊ถํ ์์คํ ๊ถํ System Privilege ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ค์ ๊ถํ ์ฌ์ฉ์์ Role์ ๋ถ์ฌ๋ ์ ์๋ ์์คํ ๊ถํ ์ข ๋ฅ๋ 80๊ฐ ์ด์. ์์คํ ๊ถํ์ ๋๊ฐ ๊ด๋ฆฌ์(DBA)๊ฐ ๋ถ์ฌํจ. ์ค๋ธ์ ํธ ๊ถํ Object Privilege ๊ด๋ฆฌ์(DBA)๋ ํน์ ํ ์ค๋ธ์ ํธ์ ๋ํด ์ฌ์ฉ์๊ฐ ์์ ์ ์ํํ๋๋ก ํ๊ฐํ ์ ์์. ์ค๋ธ์ ํธ ๊ถํ์ ์ค๋ธ์ ํธ ํ์ ์ ๋ฐ๋ผ ๋ค์ํจ. ์ค๋ธ์ ํธ ์์ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ํน์ ์ค๋ธ์ ํธ ๊ถํ์ ๋ถ์ฌํ ์ ์์. ์ญํ Role ๊ถํ ๋ถ์ฌ์ ์ ๊ทผ์ ์ด ๊ด๋ฆฌ๋ฅผ ์์ฝ๊ฒ ํ๋ ค๊ณ ์ฐ๊ด๋ ๊ถํ๋ค์ ์งํฉ์ ๋ฌถ์ด์ ์ ์ํด ๋์ ๊ฒ. Role์ด๋ ์ฌ์ฉ์์๊ฒ ํ๊ฐํ ์.. 2024. 1. 5. [Oracle] DDL ๋ฐ์ดํฐ ์ ์์ด DDL ๋ช ๋ น์ด์ ์ข ๋ฅ ๋ฐ ์ค๋ช ๋ช ๋ น์ด ์ค๋ช CREATE TABLE ์๋ก์ด ํ ์ด๋ธ ์์ฑ DROP TABLE ๊ธฐ์กด ํ ์ด๋ธ์ ๊ตฌ์กฐ ๋ฐ ๋ชจ๋ ๋ก์ฐ๋ฅผ ์ญ์ ALTER TABLE ๊ธฐ๋ณธ ํ ์ด๋ธ์ ๋ณ๊ฒฝํจ -์ปฌ๋ผ์ ์ถ๊ฐ/์์ -์ ์ฝ์กฐ๊ฑด ์ถ๊ฐ/์ญ์ /ํ์ฑํ/๋นํ์ฑํ TRUNCATE ๊ธฐ๋ณธ ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ ๋จ๊ธฐ๊ณ ๋ชจ๋ ํ์ ์ญ์ ํจ RENAME Object์ ์ด๋ฆ์ ๋ฐ๊ฟ COMMENT ํ ์ด๋ธ์ด๋ ์ปฌ๋ผ์ ์ฃผ์๋ฌธ ๋ฌ๊ธฐ DDL ๋ช ๋ น์ด๋ ์คํ ์ Auto COMMIT ๋๊ธฐ ๋๋ฌธ์ ROLLBACK๋ ์ ์์ผ๋ฏ๋ก ์ฃผ์ํด์ ์คํ SQL ์ญ์ โโ 3์ด์ฌ ๋ช ๋ น์ด ๋ถ๋ฅ ๋ช ๋ น์ด ์ค๋ช ๋กค๋ฐฑ DDL (๋ฐ์ดํฐ ๊ตฌ์กฐ) DROP TABLE ํ ์ด๋ธ ์ ์ฒด ์ญ์ . ๊ตฌ์กฐ ์ญ์ , ํ ์ญ์ . ๋ถ๊ฐ๋ฅ TRUNCATE ํ ์ด๋ธ ๋ฐ์ดํฐ ์ญ์ . ํ ์ด๋ธ ๊ตฌ์กฐ๋ ๋จ๊น. ๋ถ๊ฐ๋ฅ .. 2024. 1. 5. ์ด์ 1 ยทยทยท 4 5 6 7 8 9 10 ยทยทยท 28 ๋ค์