您的位置:首页 > 数据库

db部分--针对安卓sqlite的半自动化封装

2013-08-11 00:00 120 查看
1、简介

db部分是对sqlite数据操作的半自动化封装。方便sql语法的升级。在操作数据库方面,有点类似Spring的轻量级封装。API可以参照keel。

2、使用如下

(1)首先在assets放入需要执行的语法,例如下面我放了3个语法,以后每次更新应用,你就可以加一份语法,



(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();

3、结尾
总的来说,这个不是一个全自动化的ORM框架。之所以不封装成全自动化的ORM,是因为,个人认为还是自己写Sql语法比较放心,把语法交给ORM框架去生成一直觉得不可靠。可以愚见了。不过还是那句话,方便是向左,灵活是向右。我们要做的就是不停的修改框架,折中而取之。这个框架还有一个隐藏类,BasicDaoAdapter,继承它可以直接使用sqlite的查询API,但是要注意,使用完后需要自己close源。有兴趣的同学可以试一下。BasicDaoAdapter更面向底层,如果说BasicDao是把半自动步枪。BasicDaoAdapter他们就是把手枪。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: