@jsh/db

Since v8.0.52

Client

데이터베이스 클라이언트 객체입니다.

사용 예시
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
const db = require("@jsh/db");
const client = new db.Client();
try {    
    conn = client.connect();
    rows = conn.query("select * from example limit 10")
    cols = rows.columns()
    console.log("cols.names:", JSON.stringify(cols.columns));
    console.log("cols.types:", JSON.stringify(cols.types));
    
    count = 0;
    for (const rec of rows) {
        console.log(...rec);
        count++;
    }
    console.log("rows:", count, "selected" );
} catch(e) {
    console.log("Error:", e);
} finally {
    if (rows) rows.close();
    if (conn) conn.close();
}
생성
생성자설명
new Client(options)옵션과 함께 데이터베이스 클라이언트를 생성합니다.

bridgedriver를 모두 지정하지 않으면 기본적으로 내부 Machbase DBMS에 연결합니다.

옵션
옵션타입기본값설명
lowerCaseColumnsBooleanfalse결과 객체에 컬럼 이름을 소문자로 매핑합니다.

드라이버 옵션

사전 정의된 브리지가 없어도 driverdataSource를 이용해 sqlite, mysql, mssql, postgresql, machbase에 직접 연결할 수 있습니다.

옵션타입기본값설명
driverString사용할 드라이버 이름
dataSourceString데이터베이스 연결 문자열

브리지 옵션

미리 정의된 브리지를 사용해 Client를 생성할 수도 있습니다.

옵션타입기본값설명
bridgeString사용할 브리지 이름
프로퍼티
프로퍼티타입설명
supportAppendBoolean“Append” 모드를 지원하면 true입니다.

connect()

데이터베이스에 연결합니다.

반환값

Conn

close()

연결을 종료하고 자원을 해제합니다.

사용 형식
close()

query()

사용 형식
query(String *sqlText*, any ...*args*)
반환값

queryRow()

사용 형식
queryRow(String *sqlText*, any ...*args*)
반환값

exec()

사용 형식
exec(sqlText, ...args)
매개변수
  • sqlText String 실행할 SQL 문자열입니다.
  • args any SQL에 바인딩할 가변 인자입니다.
반환값

appender()

새로운 “appender"를 생성합니다.

사용 형식
appender(table_name, ...columns)
매개변수
  • table_name String 데이터를 추가할 테이블 이름입니다.
  • columns String 가변 길이 컬럼 목록입니다. 생략하면 테이블의 모든 컬럼 순서대로 사용합니다.
반환값

Rows

Rows 객체는 쿼리 실행 결과 집합을 캡슐화합니다.

Symbol.iterator를 구현하여 다음 두 가지 패턴을 모두 지원합니다.

for(rec := rows.next(); rec != null; rec = rows.next()) {
    console.log(...rec);
}

for (rec of rows) {
    console.log(...rec);
}

close()

데이터베이스 스테이트먼트를 해제합니다.

사용 형식
close()
매개변수

없음.

반환값
  • any[]

next()

다음 레코드를 읽어옵니다. 더 이상 레코드가 없으면 null을 반환합니다.

사용 형식
next()
매개변수

없음.

반환값
  • any[]

columns()

사용 형식
columns()
매개변수

없음.

반환값

columnNames()

사용 형식
columnNames()
매개변수

없음.

반환값
  • String[]

columnTypes()

사용 형식
columnTypes()
매개변수

없음.

반환값
  • String[]

Row

Row 객체는 단일 레코드를 반환하는 queryRow 결과를 다룹니다.

columns()

사용 형식
columns()
매개변수

없음.

반환값

columnNames()

결과 컬럼 이름을 반환합니다.

사용 형식
columnNames()
매개변수

없음.

반환값
  • String[]

columnTypes()

결과 컬럼 타입을 반환합니다.

사용 형식
columnTypes()
매개변수

없음.

반환값
  • String[]

values()

컬럼 값을 배열로 반환합니다.

사용 형식
values()
매개변수

없음.

반환값
  • any[]

Result

Result 객체는 exec() 실행 결과와 부가 정보를 제공합니다.

프로퍼티
프로퍼티타입설명
messageString결과 메시지
rowsAffectedNumber영향을 받은 행 수

Columns

프로퍼티
프로퍼티타입설명
columnsString[]결과 컬럼 이름 목록
typesString[]결과 컬럼 타입 목록

Appender

append()

컬럼 순서에 맞춰 값을 지정하여 행을 추가합니다.

사용 형식
append(...values)
매개변수
  • values any 지정한 컬럼 순서에 맞춰 삽입할 값 목록입니다.
반환값

없음.

close()

Appender를 닫습니다.

사용 형식
close()
매개변수

없음.

반환값

없음.

result()

Appender를 닫은 뒤 마지막 append 결과를 반환합니다.

사용 형식
result()
매개변수

없음.

반환값
  • Object
PropertyTypeDescription
successNumber
faileNumber
최근 업데이트