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: ide


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他们就是把手枪。 this

相关文章
相关标签/搜索