JDBC

    [Mybatis] Mybatis 란?

    [Mybatis] Mybatis 란?

    Mybatis란? 데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 하기 위해 xml로 구조화한 Mapper 설정 파일을 통해서 JDBC를 구현한 영속성 프레임워크 기존에 JDBC를 통해 구현했던 상당부분의 코드와 파라미터 설정 및 결과 매핑을 xml 설정을 통해 쉽게 구현할 수 있게 해준다. Mybatis API 사이트 MyBatis – 마이바티스 3 | 소개 Copyright © 2009–2021MyBatis.org. . mybatis.org Mybatis의 흐름 이전에 JDBC Template을 통해 SQL을 실행하였다면 Mybatis는 해당 흐름을 전용 라이브러리를 통해 대체하여 동작한다고 생각하면 된다. Mybatis 라이브러리 다운 및 연동 https://github.com/myba..

    [err] java.lang.IllegalArgumentException

    [err] java.lang.IllegalArgumentException

    jdbc java.lang.IllegalArgumentException java.util.Date 타입을 java.sql.Date 타입으로 변환하기 위해 SimpleFormat ("yy/mm/dd")형식으로 문자열 변환한 값을 valueOf(formatDate)로 작성하였음. java.util.Date date = new java.util.Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yy/mm/dd"); String formatDate = dateFormat.format(date); java.sql.Date enrollDate = java.sql.Date.valueOf(formatDate); 이 때, java.lang.IllegalArgume..

    [JDBC] xml에서 쿼리문 가져와서 수행하기

    성을 입력받아 같은 성을 가진 직원을 조회하는 쿼리를 XML 파일에 작성하여 불러와서 수행하는 방법. 1. XML 파일안에 쿼리문 작성 SELECT E.* FROM EMPLOYEE E WHERE E.EMP_NAME LIKE ? || '%' 2. employee-query.xml에서 쿼리문 가져와서 수행 Connection con = getConnection(); PreparedStatement pstmt = null; ResultSet rset = null; EmployeeDTO row = null; List empList = null; Scanner sc = new Scanner(System.in); System.out.print("조회할 이름의 성을 입력하세요 : "); String empName =..

    [JDBC] 연습문제1. DB테이블에서 같은 성을 가진 사원 정보 조회하기

    문제 EMPLOYEE 테이블에서 조회한 사원의 이름의 성을 입력 받아 해당 성씨를 가진 사원 정보를 모두 출력하세요. (PreparedStatement 객체 사용, List 객체에 담아서 출력) System.out.println(""); Connection con = getConnection(); PreparedStatement pstmt = null; ResultSet rset = null; EmployeeDTO emp = null; List empList = null; Scanner sc = new Scanner(System.in); System.out.print("조회하실 사번을 입력하세요 : "); String empId = sc.nextLine(); String empName = null; St..

    [JDBC] PreparedStatement

    PreparedStatement Connection 클래스의 preparedStatement () 메소드를 사용하여 인스턴스 생성 SQL 질의문을 위치홀더(placeholder)인 ? 로 표현되는 String으로 정의 한다. PreparedStatement 는 위치홀더라는 개념에 해당되는 인수가 많아서 특정 값만 바꾸어 여러 번 실행해야 할 때 사용하면 유용하다. (Statement 는 SQL 문장을 매번 컴파일 하지만 PreparedStatement 는 한번만 컴파일 하므로 실행 속도가 빠름) try { String query = "INSERT INTO MEMBER VALUES(?,?)"; stmt = conn.preparedStatement(query) pstmt.setString (1, id); p..

    [JDBC] Statement / ResultSet

    Statement Connection 클래스의 createStatement() 메소드를 호출하여 얻어지며 생성 된 Statement 인스턴스로 SQL 질의문을 String 에 담아 인자로 전달하여 executeQuery() 메소드를 호출하여 SQL 질의 수행 이전 포스팅과 동일하게 커넥션 생성과 자원반납은 JDBCTemplate 클래스에 작성하여 메소드 호출하여 수행한다. (JDBCTemplate 클래스 코드는 아래 확인 가능) Statement 는 쿼리문을 저장하고 실행하는 기능을 하는 용도의 인터페이스로 사용법을 알아보자. Connection con = getConnection(); /* 쿼리문을 저장하고 실행하는 기능을 하는 용도의 인터페이스 */ Statement stmt = null; /* se..

    [JDBC] Connection 생성하기

    이전 포스팅에서는 DriverManager를 이용하여 커넥션을 생성하는 코드를 작성해보았다. 메인 클래스에서 driver 연결하는 코드를 작성하기에는 너무 길기 때문에 jdbc 연결을 해주는 클래스를 따로 만는 것이 좋다. 이렇게 작성한 클래스를 import하고, getConnection() 메소드를 통해 인스턴스를 생성해주는 것이 좋다. Connection 특정 데이터 원본과 연결 된 커넥션을 나타내며 Statement 인스턴스를 생성할 때도 Connection 인스턴스를 사용하여 createStatement() 메소드를 호출하여 생성한다. SQL 문장을 실행시키기 전에 우선 Connection 인스턴스가 있어야 함 메인 클래스에서 드라이버 연결을 해주는 getConnection() 메소드를 호출한다...

    [JDBC] DriverManager 란?

    DriverManager 데이터 원본에 JDBC 드라이버를 통하여 커넥션을 만드는 역할 Class.forName() 메소드를 통해 생성되며 반드시 예외처리를 해야 함 직접 인스턴스 생성이 불가능하고 getConnection() 메소드를 사용하여 인스턴스 생성 가능 Driver 등록하는 방법을 코드로 알아보자. 1. 리터럴하게 전달하는 방법 Connection con = null; try { /* 사용할 드라이버 등록 */ Class.forName("oracle.jdbc.driver.OracleDriver"); /* DriverManager를 이용해 Connection 생성 */ conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe..

    [JDBC] 개발환경 구축

    [JDBC] 개발환경 구축

    JDBC ? (Java DataBase Connectivity) 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API JDBC구조 JDBC 개발환경 구축 1. ojdbc8 다운로드 https://www.oracle.com/database/technologies/appdev/jdbc-ucp-18-15-downloads.html 혹은 내 컴퓨터 경로안의 ojdbc8 파일을 찾을 수도 있다. C:\app\User\product\18.0.0\dbhomeXE\jdbc\lib 2. lib 폴더 생성 후 ojdbc8 파일 복사 붙여넣기 3. 환경 설정 Properties 4. 환경 변수 세팅 Java Build Path > Liberaries > Add JARs.. > ojdbc8 파일 추가 >..