어제 복습

Spring JDBC -> 기본 자바 JDBC를 좀 더 편하게 쓸 수 있게... 

자바 JDBC 불편한점 

- Connection객체를 직접 사용하기 때매 구문객체 관리, 예외처리,,등등 잡일이 많음

- 파라미터 매핑 시 타입과 위치를 일일이 지정

- 결과값 찾을 때도 타입과 컬럼명을 정확히 알아야 함


DB연결정보 넣어서 DataSource 빈 등록


DataSource넣어서 jdbcTemplate (or namedParameterJdbcTemplate) 빈 등록


jdbcTemplate (or namedParameterJdbcTemplate) 를 멤버로 갖는 dao 작성

- jdbcTemplate : sql을 날릴때 ? 에 들어갈 값을 가변길이 매개변수로 입력

- namedparam : sql문 작성 시 ? 대신에 인자 이름을 적고, 맵 형태로 파라미터를 입력해서 sql날릴 때 같이 보냄


JdbcTemplate (or namedParameterJdbcTemplate)를 넣어서 dao 빈 등록




MyBatis 구성

환경설정파일 : 마이바티스 전반에 걸친 세팅

- 매핑설정파일이 어디에 있는지

- 디비에 어떻게 접속할 건지

- 사용할 모델 클래스들에 대한 별명


매핑설정파일

- 사용할 sql문들에 대한 정의


Session빌드 및 사용

- 실제 sql문 실행

- 설정파일을 먹여서 SqlSessionFactoryBuilder를 객체 생성

- SqlSessionFactoryBuilder를 통해서 SqlSessionFactory를 빌드

SqlSessionFactory를 이용해서 SqlSession을 open

SqlSession을 통해서 원하는 sql구문의 id를 호출해서 사용

SqlSession을 close


SqlSessionFactoryBuilder 클래스 : 설정파일을 읽어서 SqlSessionFactory 객체를 생성

SqlSessionFactory 클래스SqlSession을 만드는 역할

SqlSession 클래스 : sql문을 실제 호출해주는 역할


    

' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day54 MyBatis_anno  (0) 2016.06.02
Day53 MyBatis  (0) 2016.06.01
Day51 스프링 JDBC  (0) 2016.05.30
Day49 Spring Framework  (0) 2016.05.26
Day48 DB / Spring Framwork  (0) 2016.05.25

SQuirreL SQL Client Home Page

squirrel-sql.sourceforge.net/
이 페이지 번역하기
SQuirreL SQL is an open-source Java SQL Client program for any JDBC compliant database.


Orange - 웨어벨리(Warevalley)

www.warevalley.com/xml/products/orange


Toad World

www.toadworld.com/



보통 mysql콘솔 같은 디비접속프로그램(클라이언트)는 잘 사용되지 않음


무료로 배포되는 여러 툴 중 각자 개발자들이 입맛에 맞는 프로그램을 사용함(ex.람쥐)


오라클 같은 경우는 오라클에서 제공하는 EM이나 유로 클라이언트인 토드나 오렌지가 주로 사용됨



Spring Framework


Spring 이란?

• 오픈 소스 프레임워크

– Rod Johnson 창시

• Expert one-on-one J2EE Design - Development, 2002, Wrox

• Expert one-on-one J2EE Development without EJB, 2004, Wrox


– 엔터프라이즈 어플리케이션 개발의 복잡성을 줄여주기 위한 목적

– EJB 사용으로 수행되었던 모든 기능을 일반 POJO(Plain Old JavaObject) 를 사용해서 가능하게 함.    

경량 컨테이너(light weight container)


• 주요 개념

– 의존성 주입(Dependency Injection)

– 관점 지향 프로그래밍(Aspect-Oriented Programming)



Spring 장점  -- 객체 관리 컨테이너

• 경량 컨테이너 – 객체의 라이프 사이클 관리, Java EE 구현을 위한 다양한 API 제공

DI (Dependency Injection) 지원 -- 의존성 관리

• AOP (Aspect Oriented Programming) 지원

• POJO (Plain Old Java Object) 지원

• 다양한 API와의 연동 지원을 통


Spring

https://spring.io/
이 페이지 번역하기
Spring helps development teams everywhere build simple, portable,. fast and ... Bootstrap yourSpring Boot application with start.spring.io. Generate now!

spring 개발환경 구축

스프링은 딱히 어떤 설치나 뭐가 있어야 되는게 아니므니다.
자바프로젝트에 스프링에 필요한 라이브러리를 import하면 되는겁니다.
add jars....관리 힘듬 ->라이브러리관리 도구를 사용하면 편리함(Maven, 엔트,  gradle...)

Maven을 이용해서 스프링 라이브러리를 프로젝트에 세팅!

configure -> convert to Maven project

C:\Users\student\.m2 <-- 메이븐라이브러리 날리기


' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글

Day51 스프링 JDBC  (0) 2016.05.30
Day49 Spring Framework  (0) 2016.05.26
Day47 MVC, 커맨드 패턴  (0) 2016.05.24
Day46 자바스크립트  (0) 2016.05.24
Day45 데이터베이스와 JDBC  (0) 2016.05.20

자바 코드를 이용해  //   JDBC(Java Database Connectivity)

-DB에 접속하고

-DBMS에 명령어를 전달하고

-DBMS로부터 질의결과를 얻어오기


파일 입출력 기능

java.io.~~~~


네트워크 기능

java.net.~~~~


JDBC 기능

java.sql.~~~~   // 

여기에는 어떻게 JDBC가 구현될지 인터페이스만 있고 실제 DBMS에 접속해서 활용하는 기능들은 각각의 DBMS에 구현클래스를 만들어서 배포


외부 라이브러리를 프로젝트에 import하기


Maven Repository: Search/Browse/Explore      -> 초대형 무료라이브러리 저장소

mvnrepository.com/




import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;


//Class 로딩

//DBMS의 특정 DB와 연결을 갖는 Connection객체 획득

//내가 날릴 쿼리문을 품은 Statement객체 생성

//Connection객체에  Statement구문 객체를 전달

public class CreateTableTest {

public static void main(String[] args) {

Connection conn = null;

Statement stmt = null;

//연결한 DBMS의 주소(디비명까지)

String url = "jdbc:mysql://localhost:3306/lkb";

//접속할 mysql id와 비밀번호

String id = "root";

String pw = "mysql";

try {

Class.forName("com.mysql.jdbc.Driver");

conn = DriverManager.getConnection(url,id,pw);

stmt = conn.createStatement(); // DB와 연결된 conn 객체로 부터 구문 객체를 획득

StringBuilder sb = new StringBuilder();

sb.append("create table student(")

.append("id int,")

.append("name varchar(20),")

.append("grade int")

.append(");").toString();

stmt.execute(""); //구문객체 던지기

//execute -> 테이블 생성, 수정, 삭제 등 데이터 베이스 관리 명령어 사용

//executeUpdate -> 레코드 삽입, 수정, 삭제 등 데이터 조작 명령어 사용

//executeQuery -> 레코드 조회, 테이블 조회 등 조회 명령어 사용

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();}

finally{

try {

if(conn != null && !conn.isClosed())

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}}}}


' IOT 기반 응용 SW과정 > Java, Eclipse ' 카테고리의 다른 글

Day31 Singleton Pattern  (0) 2016.04.28
Day30 DAO  (0) 2016.04.27
Day28 MySQL  (0) 2016.04.25
Day27 MySQL  (0) 2016.04.22
Day 26 데이터베이스 프로그래밍  (0) 2016.04.21

+ Recent posts