ORMLite数据库框架的简单使用
来源:互联网 发布:淘宝amp服务商 编辑:程序博客网 时间:2024/04/29 09:42
首先先建一个类继承<span style="font-family: Arial, Helvetica, sans-serif;">OrmLiteSqliteOpenHelper 实现几个方法</span>
/** * Created by 11 on 2016/5/10. */public class DataBaseHeler extends OrmLiteSqliteOpenHelper { private final static String DATABASE_NAME = "mydb.db";//db.数据库名 private final static int VERSION = 1;//数据库版本 private Map<String, Dao> maps = new HashMap<>(); //使用单例模式进行数据库访问 private static DataBaseHeler instance; public static synchronized DataBaseHeler getInstance(Context context) { if (instance == null) { synchronized (DataBaseHeler.class) { if (instance == null) { instance = new DataBaseHeler(context); } } } return instance; } //获取数据库的访问对象 public synchronized Dao getDao(Class cls) throws SQLException { Dao dao = null; String className = cls.getSimpleName(); if (maps.containsKey(className)) { dao = maps.get(className); } else { dao = super.getDao(cls); maps.put(className, dao); } return dao; } /* 关闭所有操作 */ public void close() { super.close(); for (String key : maps.keySet()) { Dao dao = maps.get(key); dao = null; } } public DataBaseHeler(Context context) { super(context, DATABASE_NAME, null, VERSION); } @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try {//完成对数据库的简历,以及表的建立 TableUtils.createTable(connectionSource, User.class); } catch (SQLException e) { e.printStackTrace(); } } @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { try { TableUtils.dropTable(connectionSource, User.class, true); } catch (SQLException e) { e.printStackTrace(); } }
一个java对象用户保存<pre name="code" class="java">/** * Created by 11 on 2016/5/10. */@DatabaseTable(tableName = "user_info")public class User { @DatabaseField(generatedId = true) private int id;//generatedId = true 表示数据库的主键 @DatabaseField(columnName = "name") private String name;//(olumnName对应列的一个名称 @DatabaseField(columnName = "desc") private String desc;//columnName对应列的一个名称 public User() { } public User(int id, String name, String desc) { this.id = id; this.name = name; this.desc = desc; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
}
一些封装的增删改查的方法
</pre><pre name="code" class="java"><pre name="code" class="java">/** * Created by 11 on 2016/5/10. */public class UserDao { private Context context; private Dao<User,Integer>userDao; private DataBaseHeler heler; public UserDao(Context context){ this.context=context; heler=DataBaseHeler.getInstance(context); try { userDao=heler.getDao(User.class); } catch (SQLException e) { e.printStackTrace(); } } public void addUser(User user){ try { userDao.create(user); } catch (SQLException e) { e.printStackTrace(); } } public void updateUser(User user){ try { userDao.update(user); } catch (SQLException e) { e.printStackTrace(); } } /* 修改数据 update user_info set name=xx where id=xx */ public void upgateUserByID(User user,Integer id){ try { userDao.updateId(user,id); } catch (SQLException e) { e.printStackTrace(); } } /* 修改数据 update user_info set name=xx where id=xx */ public void updateUserByBuilder(User user){ try { UpdateBuilder builder=userDao.updateBuilder(); builder.updateColumnValue("name",user.getName()).where().eq("id",1); builder.update(); } catch (SQLException e) { e.printStackTrace(); } } /* 删除用户 */ public void deleteUser(User user){ try { userDao.delete(user); } catch (SQLException e) { e.printStackTrace(); } } /* 删除全部 */ public void deleteMuluser(List<User>users){ try { userDao.delete(users); } catch (SQLException e) { e.printStackTrace(); } } /* 删除ID */ public void deleteUserByIDs(List<Integer>ids){ try { userDao.deleteIds(ids); } catch (SQLException e) { e.printStackTrace(); } } /* 查询全部操作 */ public List<User>listAll(){ try { return userDao.queryForAll(); } catch (SQLException e) { e.printStackTrace(); } return null; } /* 条件查询 */ public List<User>queryBuilderl(){ List<User>list=null; QueryBuilder<User,Integer>queryBuilder=userDao.queryBuilder(); //声明一下where条件 Where<User,Integer>where=queryBuilder.where(); try { where.eq("name","我的名字");//条件名字为赵四 where.and();//和 where.eq("desc","黑龙江");//出生地是黑龙江 where.prepare(); list=queryBuilder.query(); } catch (SQLException e) { e.printStackTrace(); } return list; }}
0 0
- ORMLite数据库框架的简单使用
- 简单的使用ORMLite数据库
- Android OrmLite框架的简单使用
- OrmLite数据库框架的集成及使用
- android数据库框架ormlite的使用
- Android 数据库框架OrmLite的常规使用
- 基于ormlite框架SQLite数据库的使用
- OrmLite 框架的使用
- SQLite数据库框架ORMLite与GreenDao的简单比较
- SQLite数据库框架ORMLite与GreenDao的简单比较
- SQLite数据库框架ORMLite与GreenDao的简单比较
- SQLite数据库框架ORMLite与GreenDao的简单比较
- SQLite数据库框架ORMLite与GreenDao的简单比较
- SQLite数据库框架ORMLite与GreenDao的简单比较
- 开源框架-ormlite-android数据库的使用
- Android数据库框架-----ORMLite关联表的使用
- Ormlite的简单使用详解
- Android 数据库框架ormlite 使用精要
- 翻译机器盗刷注册名额
- ubuntu12.04 + ROS(Hydro)使用RVIZ出错
- Chrome开发者工具不完全指南(二、进阶篇)
- POJ3067 树状数组 情景转化为区间求和
- ViewController的生命周期分析和使用
- ORMLite数据库框架的简单使用
- iOS开发 根据某个日期计算是星期几
- 剑指offer 面试题(数值的整数次方)(5)
- 退学,离家出走,卖房创业,在他即将烧完最后一笔钱时,获250万元融资
- Chrome开发者工具不完全指南:(三、性能篇)
- FACL额外访问控制权限
- Unity3D中脚本的执行顺序和编译顺序
- Perl中对数组进行操作的操作符
- nutch系列1——nutch简单介绍