db部分--針對安卓sqlite的半自動化封裝

一、簡介 java

db部分是對sqlite數據操做的半自動化封裝。方便sql語法的升級。在操做數據庫方面,有點相似Spring的輕量級封裝。API能夠參照keel。 sql

二、使用以下 數據庫

(1)首先在assets放入須要執行的語法,例以下面我放了3個語法,之後每次更新應用,你就能夠加一份語法, app

(2)在應用啓動的時刻初始化數據庫,例如能夠在自定義Application中初始化: 框架

public class StartApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        // 初始化數據庫版本號和數據庫名,3表示會自動執行從1-3的語法,demo_db爲使用數據庫名字
        DBHelper.init(3, "demo_db");
    }
}
(3)而後具體使用,是繼承 BasicDao類就能夠了,以下我定義個UserDao:

public class UserDao extends BasicDao {
    public UserDao(Context context) {
        super(context);
    }

    private static final String FIND_USERS = "SELECT id,name FROM table_user";
    
    public List<User> findUserList() {
        return query(FIND_USERS, null, new MultiRowMapper<User>() {
            @Override
            public User mapRow(Cursor rs, int arg1) throws SQLException {
               User User = new User();
               user.setName(rs.getString(rs.getColumnIndex("name")));
               user.setId(rs.getString(rs.getColumnIndex("id")));
               return user;
            }
        });
    }
}
(4)最後就能夠在Activity中或者別的地方使用了。

UserDao userDao = new UserDao(this);//注意這裏可使用IOC部分,使用註解注入
List<User> userList = userDao.findUserList();
三、結尾

總的來講,這個不是一個全自動化的ORM框架。之因此不封裝成全自動化的ORM,是由於,我的認爲仍是本身寫Sql語法比較放心,把語法交給ORM框架去生成一直以爲不可靠。能夠愚見了。不過仍是那句話,方即是向左,靈活是向右。咱們要作的就是不停的修改框架,折中而取之。這個框架還有一個隱藏類,BasicDaoAdapter,繼承它能夠直接使用sqlite的查詢API,可是要注意,使用完後須要本身close源。有興趣的同窗能夠試一下。BasicDaoAdapter更面向底層,若是說BasicDao是把半自動步槍。BasicDaoAdapter他們就是把手槍。 ide

相關文章
相關標籤/搜索