mysql ormlite_使用 ormlite 操作已有数据库

首先到http://ormlite.com/releases/下载ormlite-android-4.48.jar 和 ormlite-core-4.48.jar到项目libs目录下.

然后生成一个数据库 survey.db(名字随意)放入/res/raw/目录下.

该数据库下包含表

CREATE TABLE USERS (

ID        TEXT NOT NULL

UNIQUE,

USER_NAME TEXT NOT NULL

UNIQUE,

PASSWORD  TEXT NOT NULL,

PRIMARY KEY ( ID )

);

跟据此表就可以在android项目下创建相应的class了.

@DatabaseTable(tableName = "users")

public class Users {

// id = true 必须要有.

@DatabaseField(columnName = "ID", id = true)

private String ID;

@DatabaseField(columnName = "USER_NAME")

private String USER_NAME;

@DatabaseField(columnName = "PASSWORD")

private String PASSWORD;

public String getID() {

return ID;

}

public void setID(String iD) {

ID = iD;

}

public String getUSER_NAME() {

return USER_NAME;

}

public void setUSER_NAME(String uSER_NAME) {

USER_NAME = uSER_NAME;

}

public String getPASSWORD() {

return PASSWORD;

}

public void setPASSWORD(String pASSWORD) {

PASSWORD = pASSWORD;

}

public Users() {

}

public Users(String iD, String uSER_NAME, String pASSWORD) {

super();

ID = iD;

USER_NAME = uSER_NAME;

PASSWORD = pASSWORD;

}

}

用ormlite操作数据库非常简单.就是生成dao.然后对此dao操作.现在封装一个生成dao的dbhelper

public class DBHelper {

public static final String DB_DIR = Environment

.getExternalStorageDirectory().getAbsolutePath() + "/survey/";

public static final String DB_NAME = "survey.db";

private AndroidConnectionSource connectionSource;

private static DBHelper dbHelper;

public static DBHelper getInstance(Context context) {

if (dbHelper == null) {

dbHelper = new DBHelper(context);

}

return dbHelper;

}

public DBHelper(Context context) {

File dir = new File(DB_DIR);

if (!dir.exists()) {

dir.mkdirs();

}

File file = new File(dir, DB_NAME);

if (!file.exists()) {

try {

loadFile(context, file, R.raw.survey);

} catch (IOException e) {

e.printStackTrace();

}

}

SQLiteDatabase db = SQLiteDatabase.openDatabase(file.getPath(), null,

SQLiteDatabase.OPEN_READWRITE);

connectionSource = new AndroidConnectionSource(db);

}

/**

* 下在文件到指定目录

*

* @param context

* @param file

*            sd卡中的文件

* @param id

*            raw中的文件id

* @throws IOException

*/

public static void loadFile(Context context, File file, int id)

throws IOException {

InputStream is = context.getResources().openRawResource(id);

FileOutputStream fos = new FileOutputStream(file);

byte[] buffer = new byte[1024];

int count = 0;

while ((count = is.read(buffer)) > 0) {

fos.write(buffer, 0, count);

}

fos.close();

is.close();

}

/**

* 获取dao

*

* @param clazz

* @return

* @throws SQLException

*/

public , T> D getDao(Class clazz) throws Exception {

if (connectionSource != null) {

return DaoManager.createDao(connectionSource, clazz);

}

return null;

}

}

在activity里就可以操作了

public class MainActivity extends Activity {

DBHelper dbHelper;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

dbHelper = DBHelper.getInstance(this);

try {

Dao dao = dbHelper.getDao(Users.class);

Users users1 = new Users("123", "456", "789");

dao.createOrUpdate(users1);

Users users2 = new Users("qwe", "asd", "zxc");

dao.createOrUpdate(users2);

List userList = dao.queryForAll();

for (int i = 0; i 

LogUtil.showLog(userList.get(i).getUSER_NAME());

}

} catch (Exception e) {

e.printStackTrace();

}

}

@Override

protected void onDestroy() {

super.onDestroy();

if (dbHelper != null) {

OpenHelperManager.releaseHelper();

dbHelper = null;

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值