Articles of ormlite

如何使用ORMLite更新列

我有一个已经创建的Android应用程序数据库,我正在使用ORMLite查询SQLLite。 我在类别中添加了一列,我想在该列中插入数据。 我有排,例如 catId=5 catname=”food” catType=? 我想基于catId更新catId 。 如何使用catId中的catId更新此catType列。 我正在使用这种方法: Dao catDao = getHelper().getCategoryDao(); QueryBuilder queryBuilder = catDao.queryBuilder(); queryBuilder.where().eq(“categoryId”, 5); PreparedQuery pq = queryBuilder.prepare(); Category category = catDao.queryForFirst(pq); category.setCategoryType(“BarType”); catDao.createOrUpdate(category); 请给我一个更好的解决方案。

在android上删除使用ormlite?

我有一个Client bean, @DatabaseField(columnName = “client_id”,generatedId = true,useGetSet = true) private Integer clientId; @DatabaseField(columnName = “client_nom”,useGetSet = true) private String clientNom; @DatabaseField(columnName = “city_id”,foreign = true,useGetSet = true) private City city; 和一个城市豆, @DatabaseField(columnName = “city_id”,generatedId = true,useGetSet = true) private Integer cityId; @DatabaseField(columnName = “city_name”,useGetSet = true) private String cityName; @ForeignCollectionField private ForeignCollection clientList; 那些豆只是一个例子,但是我想说,我想在删除城市时删除所有拥有外国城市cityId的客户。 请问怎么可能?

使用ORMLite实现多对多关系的最佳方法是什么?

我正在玩ORMlite来制作一个包含表格和关系的模型。 一种关系是多对多的关系。 实现这一目标的最佳方法是什么? 更具体一点: 假设我有这两张桌子 Product id brand Purchase id 购买可以有几种产品,一种产品可以进行多次购买。 使用ORMLite我可以在每个模型中有一个@ForeignCollectionField ,但我认为它不会起作用。 我看到的唯一有效的解决方案是制作第三个表Product_Purchase,将Product和Purchase与多对一关系链接起来。 你们怎么想?

如何使用ORMLite查询构建器获取表中的总记录

如同 select count(*) from tablename; 什么应该在ORMLITE中查询 我尝试了类似的东西 int total = dao.queryBuilder().(“select count(*)”);

在Android上使用OrmLite的Proguard

我应该如何在Android上使用带有ormlite库的proguard? 试试这个: -keep class com.j256.** -keepclassmembers class com.j256.** -keep enum com.j256.** -keepclassmembers enum com.j256.** -keep interface com.j256.** -keepclassmembers interface com.j256.** 但我得到: 03-23 20:23:54.518:E / AndroidRuntime(3032):java.lang.RuntimeException:无法启动活动ComponentInfo {cz.eman.android.cepro / cz.eman.android.cepro.activity.StationsOverviewActivity}:java .lang.IllegalStateException:找不到辅助类class kb的Context参数的构造函数 我也尝试添加这个: -keepclassmembers class * { public (android.content.​Context); } 但我得到另一个class级成员错误。

如何从ORMLITE中删除记录?

我需要删除ORMLite数据库中的记录我可以通过id删除记录,如下所示 @Override public void Delete(int id) throws SQLException { this.dao.deleteById(id); } 但是,如果我必须删除同一个表中的记录而不是通过id但是通过名称或任何其他字段我想要的东西 public void Deletefromcanteen(String name,MealType mealtype) { this.dao.deletebyName(name); } 我应该使用querybuilder写一个查询来删除name = name和mealtype = say(午餐)的记录 我在databasehelper类中尝试过类似的东西 public void deletefromcanteen(int id, String mealtype) { try { Dao canteenDao = getCanteen(); DeleteBuilder deleteBuilder = canteenDao .deleteBuilder(); deleteBuilder.where().eq(“user_id”, id).and().eq(“meal”, mealtype); canteenDao.delete(deleteBuilder.prepare()); } catch (Exception e) { … } […]

将ForeignCollection转换为ArrayList – ORMLite,Gson和Android

如果我对我的解释不是很清楚,我会道歉但是如果要求,我会添加并编辑这个问题。 我正在开发一个Android应用程序,它通过外部API接收数据并使用ORMLite在本地存储数据。 在本地存储数据并使用ORMLite之前,我有一些模型从服务器检索JSON并通过以下方式对其进行解析: Gson gson = new Gson(); String result = ApiClient.httpPost(“/user_route”); User user = gson.fromJson(result, User.class); User类已定义 public class User { int id; String name; ArrayList media; } 而Image类: public class Image { int id; int creator_id; String url; } 这是模型和方法的简化表示,但我相信我保留了所有相关信息。 BTW, media是一个包含Images的JSON对象。 现在我正试图在本地存储数据。 为了使用ORMLite在用户和图像之间建立关系,您似乎必须使用ForeignCollection类和@ForeignCollectionField注释。 我不相信Gson可以直接将User类中的media字段的Json解析为ForeignCollection对象,所以我认为我需要创建两个字段mediaCollection和media 。 使用ORMLite,User类现在看起来像这样: @DatabaseTable(tableName = “Users”) public class User […]

使用从Jackson创建的对象在Android上使用OrmLite保存子集合

我有一个REST服务,我正在从我的应用程序调用,它将一个JSON对象作为byte[]引入,然后将其转换为一个漂亮的嵌套对象集合 – 所有这些都可以正常工作。 我当时想要做的是使用OrmLite将这些对象持久化到SQLite存储,这就是事情开始崩溃的地方,因为据我所知,OrmLite不会自动持久化嵌套对象。 为简单起见,让我们删除我的实际function,并让我的对象简单地建模如下: @DatabaseTable(tableName = “parents”) public class Parent { @DatabaseField(id=true) private String name; @ForeignCollectionField // have to use Collection here because needs to be compatible with Jackson private Collection children; /* Getters and setters go here */ } @DatabaseTable(tableName = “children”) public class Child { @DatabaseField(id=true) private String name; @DatabaseField(foreign=true) private Parent […]

Android的ORMLite示例不能编译

我一直在尝试通过ORA说的HelloAndroid的例子,但一直无法成功编译。 我遇到了DatabaseHelper类的问题。 特别是getDao()方法: /** * Returns the Database Access Object (DAO) for our SimpleData class. * It will create it or return the cached value. */ public Dao<SimpleData, Integer> getDao() throws SQLException { if (simpleDao == null) { simpleDao = getDao(SimpleData.class); } return simpleDao; } 这是我收到的编译时错误: D的types参数不能确定; typesvariablesD的上限没有唯一的最大实例com.j256.ormlite.dao.Dao,com.j256.ormlite.dao.Dao

ORMLite查询date

我试图查询low和hign值之间的date: Car car = new Car(1, "octavia"); car.setManufactured(Calendar.getInstance().getTime()); Dao<Car, Integer> carDao = getHelper().getCarDao(); carDao.create(car); QueryBuilder<Car, Integer> carQb = carDao.queryBuilder(); Calendar yesteday = Calendar.getInstance(); yesteday.add(Calendar.DATE, -1); Calendar tommorrow = Calendar.getInstance(); yesteday.add(Calendar.DATE, 1); carQb.where().between("manufactured", yesteday.getTime(), tommorrow.getTime()); PreparedQuery<Car> query = carQb.prepare(); List<Car> cars = carDao.query(query); Log.d(TAG, cars.get(0).toString()); 汽车对象看起来这样: public class Car { @DatabaseField(id = true) private int id; […]