본문 바로가기

플랫폼엘 정리or해석9

DB 조회시 인덱스 기능 알겠습니다. Spring 프로젝트에서 데이터베이스 쿼리를 실행할 때 JPQL을 이용하는 방법과 MyBatis를 이용하는 방법을 각각 설명하고, 인덱스 설정 및 활용 예시도 함께 제공하겠습니다.JPQL을 이용할 때인덱스 설정데이터베이스 테이블에 인덱스를 설정하려면 SQL을 사용합니다. 예를 들어, MySQL 데이터베이스에서 users 테이블의 username 컬럼에 인덱스를 추가하려면 다음과 같은 쿼리를 실행합니다.sqlCREATE INDEX idx_username ON users(username);JPQL로 조회Spring Data JPA를 사용하여 JPQL을 이용해 데이터를 조회할 수 있습니다. 1.엔티티 클래스 정의:@Entitypublic class User { @Id @Generated.. 2024. 8. 5.
엑셀에 있는 데이터를 PANDAS 이용해서 DB에 저장 일단 엑셀의 구조는 이렇게 있고,각인덱스 데이터마다 스페이스,매체,프로그램에 해당하는 태그들을 TB_EXHIT_TAG 테이블에 [ 플랫폼 라이브 인덱스  10 , 중정 인덱스 12 , 다원예술 인덱스 13] 일경우 밑에처럼 이렇게 삽입한다.905 / 10 / 현재시간905/ 12 / 현재시간905/ 13 / 현재시간    import pandas as pdimport mysql.connector# MySQL 데이터베이스 연결 설정db_config = { 'user': '계정이름', 'password': '비번', 'host': '호스트', 'port': 포트번호, 'database': 'DB이름'}# MySQL 연결conn = mysql.connector.connect(**db.. 2024. 8. 5.
css,JavaScript관련 1. css에서 해당 태그 위치 위로 이동시키기사진과 같이 원래는 셀렉태그 위에 줄선이 KR/EN에 가려져서 문제 였는데 이 셀렉태그를 감싼 div에서   margin-top이라는거를 사용해서 위치를 이동시킬 수 있었다! selected>Newest selected>Lowest Price selected>Highest Price selected>Name Order   2. slect 태그와 비슷한 검색기능까지 있는 datalist태그 사용먼저 html코드는 이거고block;"> 대관팀 선택 선택 밑에 등록 화면보면 유저의 인덱스까지 .. 2024. 7. 18.
커스텀 어노테이션 적용후,인터셉터에 적용하기 @Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, ElementType.TYPE})public @interface LoginRequiredType { LoginType value() default LoginType.ADMIN; public enum LoginType { ADMIN, // GHS 연동을 위한 로그인이 필요 BOOTH // AAF 기능을 쓰기 위한 로그인 필요 - ex ) facebook }}@Componentpublic class NeedLoginInterceptor implements HandlerInterceptor { //public class NeedLoginInterceptor extends A.. 2024. 7. 12.
실무 다른 동료 SQL문 분석 1. SELECT TAG.IDX, TAG.DEPTH_TYPE, TAG.DEPTH1_IDX, TAG.DEPTH2_IDX, TAG.ITEM_ORDER, TAG.TAG_NAME_KOR, TAG.TAG_NAME_ENG, TAG.IS_SHOW, COUNT(EXHIBIT_TAG.IDX) AS CONNECTED_ITEM_COUNT, TAG.REG_DTTM FROM .. 2024. 7. 11.
MySql의 암호화,복호화 처음에는 이메일도 자바에서 암호화,복호화 제공하는 AES256Cipher라는거를 이용했는데 데이터 검색시 검색어에 포함된 문자를 가져와야해서  자바에서 제공하는  먼저 암호화는 AES_ENCRYPT() 함수를 이용하고,복호화는 AED_DECRYPT() 함수를 이용한다. 프로젝트에서 관리자 테이블에 이메일은 암호화로 저장한다했고, 이제 관리자 메인 페이지에서 이렇게 구분 검색 [전체,이메일,이름] 선택이 있는데 예를들어 전체 선택하고 "ing" 을 하고 검색시  이메일,이름 필드 둘다 "ing"을  포함하는 문자 데이터 있는지 검색해야한다.그러나 이메일은 암호화 상태로 저장중이니 복호화 하고 "ing"을 포함하는 문자 데이터 있는지 검색해야한다. 테이블에 이메일필드 데이터 타입은 VARCHAR()인데 암호.. 2024. 7. 4.
XSS 공격 방지용 XssFilter XssFilter filter = XssFilter.getInstance("lucy-xss-superset.xml");AdminSearchVo asvo = new AdminSearchVo(); if(StringUtils.isNotBlank(search_type)){ asvo.setSearch_type(filter.doFilter(search_type)); } if(StringUtils.isNotBlank(search_text)){ asvo.setSearch_text(search_text); } 프로젝트에서 쿼리파라미터로 받은 DB 검색 조건들 (ex: 제목,시작 날짜,종료날짜)을 AdminSearchVo의 필드에 넣고 이제 DB에 요청할때 검색 조건 넣은 AdminSearchVo를 같이 넘.. 2024. 6. 25.
Json 코드 해석 1. 객체를 JSON형식으로 변환 (직렬화)단계별 설명TokenBuffer buffer = new TokenBuffer(null);:TokenBuffer는 Jackson에서 제공하는 클래스입니다. JSON 내용을 메모리에 저장할 수 있는 버퍼 역할을 합니다. 이 버퍼는 일종의 중간 저장소로 사용됩니다.ObjectMapper objectMapper = new ObjectMapper();:Jackson의 핵심 클래스 중 하나인 ObjectMapper를 생성합니다. 이 객체는 Java 객체와 JSON 간의 변환 작업을 수행합니다.objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);:ObjectMapper의 직렬화 설정을 변경하여 n.. 2024. 6. 25.
JSP의 코드 해석 1.$(location).attr('href', url); 현재 페이지를 지정된 URL로 리디렉션 시키는 것입니다. 이로 인해 브라우저는 지정된 URL로 GET 요청을 하게 됩니다. 2.colNames: ['No.', '이메일','이름','권한','상태','등록일','비고'],colModel: [ {name: 'idx', index: 'idx', editable: true, width: 40, sorttype: "int", search: true, align: "center"}, { name: 'email', index: 'email', editable: true, sortable: true, align: "center", }, {.. 2024. 6. 24.