Computer Science31 [Database] JDBC - Prepared Statement, CallableStatement 1. PreparedStatement Statement의 subinterface이며, parameterized query를 사용할 때 활용한다. 변수를 사용할 수 있기 때문에 Statement 종류 중 가장 많이 활용된다. 또한, 여러 종류의 쿼리를 사용하지만 컴파일은 한 번만 하므로 성능상 이득이 있다. 쿼리에서 parameterized하고 싶은 부분을 '?' (물음표)로 작성하고, 해당 부분에 들어갈 파라미터는 PreparedStatement의 함수를 이용해서 세탕한다. 예) "insert into table value(?, ?)" PreparedStatement 주요 메소드 PreparedStatement에는 Statement의 인터페이스를 모두 구현한다. public void setInt(int .. 2023. 1. 19. [Database] JDBC - Statement, ResultSet 1. Statement Statement를 이용해서 실제 수행할 쿼리를 작성할 수 있다. 수행 결과를 ResultSet 객체로 받아오고, 정적 쿼리를 작성할 수 있다. Statement 주요 메소드 ResultSet executeQuery(string sql) SQL을 수행하고 ResultSet을 받아온다. 결과를 받아오기 때문에 주로 SELECT문 작성 시 사용 int executeUpdate(string sql) INSERT, UPDATE, DELETE 또는 DDL 등 결과를 받아오지 않는 SQL 작성 시 사용 return 값은 변경사항이 적용된 row의 수이다. 결과가 없다면, 0을 리턴 boolean execute(string sql) 여러 개의 결과를 얻어오는 SQL문 작성 시 사용 첫 번째 결.. 2023. 1. 17. [Database] JDBC - DriverManager, Connection (MySQL 접속) 1. Driver Manager 개념 User와 Driver 사이의 인터페이스를 담당. Driver의 이용가능 여부, Database와 Driver사이의 Connection을 관리한다. Driver의 등록/해제, Connection의 연결/해제를 관리한다. Driver의 Register가 반드시 성공해야 DB와 상호작용을 할 수 있다. 1.1 Driver Manager로 MySQL 접속 과거에는 클래스 로딩을 위하여 'Class.forName()'으로 해당 클래스를 클래스 패스에서 찾아서 클래스 로더가 로딩할 수 있도록 했다. 이런 방식으로 클래스 로딩이 되어야 Driver Manager가 표준 인터페이스로 메소드를 호출할 때, 해당 JDBC 드라이버의 구현체로 연결될 수 있었다. 최신 버전에서는 Jav.. 2023. 1. 13. [JDBC] JDBC (Java Database Connectivity) 문제의 상황 만약, CRUD를 해야되는 상황일 때 요구사항이 같은데, 매번 써야되는 함수가 다르다면 데이터베이스를 바꿀 때마다 모든 코드를 갈아엎어야 한다. 이때, 필요한 것이 표준 인터페이스이다. 표준 인터페이스의 필요성 개발자는 표준 인터페이스에 정의된 클래스와 함수만 사용하고, 사용하는 DB에 따라 라이브러리만 바꿔끼우면, 코드의 수정 없이 같은 동작이 가능하도록 할 수 있다. JDBC (Java Database Connectivity) Java application이 client로서 어떻게 데이터베이스에 접근하는지 정의해놓은 표준 인터페이스이다. Java Standard Edition (Java SE)에서 지원하는 스펙이다. Database에 접속하고 데이터를 업데이트하거나 쿼리(질의)할 수 있는.. 2023. 1. 12. [Web Service] 3. Web Service에서 발생하는 데이터의 종류 및 특징 1. Use Cases 2. 서버 엔지니어(Server Engineer)가 다루는 데이터 데이터 엔지니어링의 특수성이 어디서 나오는지 구분하기 위해 데이터의 성격을 구분한 것이다. 꼭 서버 엔지니어는 이런 데이터만 다루고, 데이터 엔지니어는 어떤 데이터만 다룬다는 의미가 아니다. 비즈니스나 데이터가 커지다보면, 데이터의 성격에 따라 기술 스택도 다른 것이 필요하게 된다. 그 과정에서 역할이 나뉘다 보면 자연스럽게 이런 식으로 서버 엔지니어와 데이터 엔지니어의 역할이 나뉘게 된다. 백엔드(서버) 쪽을 한다면 모두 잘 다루는 것이 좋다. 2.1 Transaction (거래 데이터) 거래 요청이 있고 요청에 대한 처리의 결과가 있는 데이터로서, 비즈니스나 시스템에서 빈번하게 생성되고 업데이트 되는 데이터를 의.. 2023. 1. 9. 이전 1 2 3 4 5 6 7 다음