Notice
Recent Posts
Recent Comments
Link
투케이2K
105. (TWOK/UTIL) [Android/Java] S_SQLite - SQLite 데이터베이스 select , insert , update , delete 수행 클래스 본문
투케이2K 유틸파일
105. (TWOK/UTIL) [Android/Java] S_SQLite - SQLite 데이터베이스 select , insert , update , delete 수행 클래스
투케이2K 2022. 12. 7. 14:20[설 명]
프로그램 : Android / Java
설 명 : S_SQLite - SQLite 데이터베이스 select , insert , update , delete 수행 클래스
[소스 코드]
package kr.co.two2k.manager;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class S_SQLite extends SQLiteOpenHelper {
/**
* // ------------------------------------
* TODO [사용 방법 정의]
* // ------------------------------------
* S_SQLite.getSelectAll(A_Activity.this); //TODO 전체 목록 조회
* S_SQLite.getSelectKey(A_Activity.this, "name"); //TODO 특정 KEY 조회
* // ------------------------------------
* S_SQLite.setInsertKeyValue(A_Activity.this, "name", "투케이"); //TODO 데이터 삽입
* // ------------------------------------
* S_SQLite.setUpdateKey(A_Activity.this, "name", "TWOK"); //TODO 특정 데이터 업데이트
* // ------------------------------------
* S_SQLite.getDeleteAll(A_Activity.this); //TODO 전체 데이터 삭제
* S_SQLite.getDeleteKey(A_Activity.this, "name"); //TODO 특정 데이터 삭제
* // ------------------------------------
* */
/**
* // ------------------------------------
* TODO [SQL LITE 테이블 (MY_TABLE) 구조 설명]
* // ------------------------------------
* [MY_KEY] | [MY_VALUE]
* // ------------------------------------
* name | TWOK
* age | 28
* sex | M
* // ------------------------------------
* */
// TODO [SQLITE 사용에 필요한 전역 변수 선언 부분]
public static final int DATABASE_VERSION = 1; // 데이터베이스 버전
public static final String DATABASE_NAME = "S_SQLite.db"; // 데이터베이스 이름
public static final String TABLE_NAME = "MY_TABLE"; // 테이블 이름
//public static final String COLUMN_NAME_IDX = "MY_IDX"; // 컬럼 이름
public static final String COLUMN_NAME_KEY = "MY_KEY"; // 컬럼 이름
public static final String COLUMN_NAME_VALUE = "MY_VALUE"; // 컬럼 이름
// 테이블 생성 쿼리문
private static final String SQL_CREATE_ENTRIES =
"CREATE TABLE " + TABLE_NAME + " (" +
//COLUMN_NAME_IDX + " INTEGER," +
COLUMN_NAME_KEY + " TEXT," +
COLUMN_NAME_VALUE + " TEXT)";
// 테이블 삭제 쿼리문
private static final String SQL_DELETE_ENTRIES =
"DROP TABLE IF EXISTS " + TABLE_NAME;
// TODO [SQLITE 클래스 생성자 초기화 및 메소드 재정의 실시]
public S_SQLite(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SQL_CREATE_ENTRIES);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// This database is only a cache for online data, so its upgrade policy is
// to simply to discard the data and start over
db.execSQL(SQL_DELETE_ENTRIES);
onCreate(db);
}
@Override
public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
onUpgrade(db, oldVersion, newVersion);
}
//TODO [SQLITE 저장된 테이블 전체 목록 조회 실시 SELECT * FROM]
public static void getSelectAll(Context context){
// List Map 문자열 형식으로 저장된 전체 데이터 포맷
ArrayList <Map> list = new ArrayList();
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getReadableDatabase(); // 데이터베이스 데이터 접근
Cursor cursor = sqLiteDatabase.rawQuery(
"SELECT * FROM " + String.valueOf(TABLE_NAME)
+ " ORDER BY " + String.valueOf(COLUMN_NAME_KEY) + " ASC"
, null
);
while (cursor.moveToNext()){
Map rawFormat = new HashMap();
rawFormat.put("KEY", String.valueOf(cursor.getString(0))); // KEY 컬럼
rawFormat.put("VALUE", String.valueOf(cursor.getString(1))); // VALUE 컬럼
// 리턴 결과 배열에 삽입 실시
list.add(rawFormat);
}
cursor.close();
sqLiteDatabase.close();
//*
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[SQLite >> getSelectAll :: SELECT ALL SUCCESS]");
Log.i("","\n"+"[DATA :: "+String.valueOf(list.toString())+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
}
//TODO [SQLITE 특정 데이터 값 조회 실시 - SELECT EQUALS]
public static String getSelectKey(Context context, String key){
String result = "";
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getReadableDatabase(); // 데이터베이스 데이터 접근
Cursor cursor = sqLiteDatabase.rawQuery(
"SELECT * FROM " + String.valueOf(TABLE_NAME)
+ " WHERE " + String.valueOf(COLUMN_NAME_KEY) + " = ?"
, new String[] { key.trim() }
);
while (cursor.moveToNext()){
result = String.valueOf(cursor.getString(1)); // VALUE 컬럼
}
cursor.close();
sqLiteDatabase.close();
//*
Log.i("---","---");
Log.w("//===========//","================================================");
Log.i("","\n"+"[SQLite >> getSelectKey :: SELECT KEY SUCCESS]");
Log.i("","\n"+"[INPUT [KEY] :: "+String.valueOf(key)+"]");
Log.i("","\n"+"[RETURN [VALUE] :: "+String.valueOf(result)+"]");
Log.w("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
return String.valueOf(result);
}
//TODO [SQLITE 테이블에 정보 삽입 실시 - INSERT]
public static void setInsertKeyValue(Context context, String key, String value){
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getWritableDatabase(); // 데이터베이스 데이터 접근
sqLiteDatabase.execSQL(
"INSERT INTO " + String.valueOf(TABLE_NAME) + " VALUES " +
"('"+String.valueOf(key)+"' , '"+String.valueOf(value)+"')"
);
//*
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[SQLite >> setInsertKeyValue :: INSERT SUCCESS]");
Log.i("","\n"+"[KEY :: "+String.valueOf(key)+"]");
Log.i("","\n"+"[VALUE :: "+String.valueOf(value)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
}
//TODO [SQLITE 테이블에 저장된 특정 정보 업데이트 실시 - UPDATE EQUALS]
public static void setUpdateKey(Context context, String key, String value){
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getWritableDatabase(); // 데이터베이스 데이터 접근
sqLiteDatabase.execSQL(
"UPDATE " + String.valueOf(TABLE_NAME) + " " +
"SET " + String.valueOf(COLUMN_NAME_VALUE) + " = ? " + " " +
"WHERE " +String.valueOf(COLUMN_NAME_KEY)+ " = ? "
,new String[] { String.valueOf(value.trim()) , key.trim() }
);
//*
Log.i("---","---");
Log.d("//===========//","================================================");
Log.i("","\n"+"[SQLite >> setUpdateKey :: UPDATE KEY SUCCESS]");
Log.i("","\n"+"[KEY :: "+String.valueOf(key)+"]");
Log.i("","\n"+"[VALUE :: "+String.valueOf(value)+"]");
Log.d("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
}
//TODO [SQLITE 테이블에 저장된 전체 정보 삭제 실시 - DELETE]
public static void getDeleteAll(Context context){
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getWritableDatabase(); // 데이터베이스 데이터 접근
sqLiteDatabase.execSQL(
"DELETE FROM " + String.valueOf(TABLE_NAME)
);
//*
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[SQLite >> getDelete :: DELETE ALL SUCCESS]");
Log.e("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
}
//TODO [SQLITE 테이블에 저장된 특정 정보 삭제 실시 - DELETE EQUALS]
public static void getDeleteKey(Context context, String key){
try {
SQLiteOpenHelper myDBHelper = new S_SQLite(context); // 데이터베이스 오픈
SQLiteDatabase sqLiteDatabase = myDBHelper.getWritableDatabase(); // 데이터베이스 데이터 접근
sqLiteDatabase.execSQL(
"DELETE FROM " + String.valueOf(TABLE_NAME) + " " +
"WHERE " +String.valueOf(COLUMN_NAME_KEY)+ " = ? "
,new String[] { key.trim() }
);
//*
Log.i("---","---");
Log.e("//===========//","================================================");
Log.i("","\n"+"[SQLite >> getDelete :: DELETE KEY SUCCESS]");
Log.i("","\n"+"[KEY :: "+String.valueOf(key)+"]");
Log.e("//===========//","================================================");
Log.i("---","---");
// */
}
catch (Exception e){
e.printStackTrace();
}
}
}// TODO [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments