我正在我的项目中使用room persistent library。我试图在查询中使用'like'子句,但我无法使用。我尝试过编译时(查询)和运行时查询(原始查询)。它既没有给出任何类型的异常,也没有给出任何输出。
我尝试过以下方法,但都不奏效:-
>
编译时查询-
@Query("select * from recipe where type_of_diet like '%vegetarian%' ")
public abstract DataSource.Factory<Integer, RecipeListPojo>
getRecipeListVeg();
罗奎尔-
@RawQuery(observedEntities = RecipeListPojo.class)
public abstract DataSource.Factory<Integer,RecipeListPojo>
getAllRecipesList(SupportSQLiteQuery sqLiteQuery);
String query="select * from recipe where type_of_diet like '%vegetarian%' ";
SimpleSQLiteQuery simpleSQLiteQuery = new SimpleSQLiteQuery(query);
recipeDao.getAllRecipesList(simpleSQLiteQuery);
ComileSdkVersion 27
库使用-实现"android.arch.persistence.room:运行时:1.1.0-beta3"注释处理器"android.arch.persistence.room:编译器:1.1.0-beta3"
请让我知道如何运行这些类型的查询。
您必须在符号“%”之前添加前缀和后缀,以执行模式搜索,例如:
String param = "%"+mMyString+"%";
然后声明DAO方法,例如:
@Query("SELECT * FROM track_table WHERE title LIKE :param" + " OR artist LIKE :param" + " OR album like :param")
List< Track > search(String param);
查询的语法不正确。根据留档,查询类似于
@Query("SELECT * FROM user WHERE user_name LIKE :name AND last_name LIKE :last")
public abstract List<User> findUsersByNameAndLastName(String name, String last);
这里的参数
和用LIKE:编写的键必须匹配。
阅读Android Room——用LIKE选择查询,这在kotlin中,但可能会清除这个逻辑。
房间1.1.1 RxJava2 Kotlin工作正常:
@Query("SELECT * FROM user WHERE name LIKE '%Tom%' ")
fun getUsers(): Single<List<UserEntity>>
带参数:
@Query("SELECT * FROM user WHERE name LIKE '%' || :name || '%' ")
fun getUsers(name: String): Single<List<UserEntity>>
我已经进入了几天,尽管我学到了很多,但我开始绝望了。 我已经尝试了这个极好问题的所有建议: 没有名为的EntityManager的持久性提供程序 我曾经使用无处不在的HibernateUtil类来处理这个问题,但是被告知要在这里转移到一个简单的JPA风格: Spring-RESTful控制器方法改进建议 不幸的是,我无法让豆子注射在spring boot中正常工作。以下是我的尝试: Spring
我所要做的就是从insert中获取作为long的返回值。我得到了,但它不起作用,我从返回的值中返回0。我正在使用一个、存储库和,如谷歌代码实验室中所述。在房间里插入后,我一直关注这篇文章。 球员级别 道 存储库 视图模型 活动
Android等级插件版本:7.0.4 Gradle版本:7.3.3 Gradle JDK:11.0.10(Android Studio默认JDK) 我一直在努力寻找解决这个问题的具体方法。Android Room kot Lin Kapt IntelliJ MAC OS Catalina:Java . lang . unsatisfiedlinkerror:org . SQLite . core
问题内容: 我遇到了使用EntityManager将元素持久保存到数据库的问题。根据我发现的答案,我在DaoJpa中尝试了这4种方法来执行此操作,但仍然失败。在这里,我附上了我尝试过的四种方法: 控制器部分中的代码: 1.道霸: 不起作用! 2。 我得到的例外:没有交易在进行中 3。 我得到的异常:不允许在共享的EntityManager上创建事务-使用Spring事务或EJB CMT代替 4。
我想使用房间数据库,但在构建应用程序时出现以下错误: 执行组织时出错。喷气式飞机。科特林。格拉德尔。内部的KaptExecution公司 和一些这样的错误: 错误:不确定如何将游标转换为此方法的返回类型(java.util.ArrayList 我将数据库与这些类一起使用: 书签实体: 书签数据库: 书签DAO: 我为房间添加此依赖项: 并在构建顶部添加应用插件:“kotlin kapt”。grad
有没有更简单的方法可以查看Android Studio中使用Room Persistence Library创建的数据库的内容?