小编jav*_*999的帖子

检查对象列表中的字段是否具有特定值?

我有一个Person对象列表:

List<Person> allPersons = new ArrayList<Person>();
Run Code Online (Sandbox Code Playgroud)

Person对象有一个field被调用的Address.

我想检查列表中至少有一个人是否有某个地址我该怎么做?

我知道在使用HashMap时有一个.containsValue()方法,但有什么类似的ArrayList吗?

编辑:请注意我在每个对象中搜索特定的字段值,而不是对象本身?

java collections contains arraylist hashmap

2
推荐指数
1
解决办法
3700
查看次数

从JpaRepository本机查询返回字符串?

我正在尝试使用a native query返回column表中某个对象的值。

我知道本机查询可用于返回对象,即在此示例中:

public interface UserRepository extends JpaRepository<User, Long> {

  @Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?1", nativeQuery = true)
  User findByEmailAddress(String emailAddress);
}
Run Code Online (Sandbox Code Playgroud)

但是,我将如何编写此代码以返回一列的值?即,如果我只想返回用户的名称(字符串),而不是用户object

java sql string repository spring-data

2
推荐指数
1
解决办法
2309
查看次数

将 ArrayList 元素移动到 List 中的最后一个位置?

在下面的方法我有一个ArrayListStrings

我检查这些字符串中是否有任何一个在 txt 文件(checkIfWordIsInTextFile方法)中。

如果一个字符串在这个列表中,我想把它放在列表的最后,然后返回重新排序的列表。

我正在尝试使用 set 方法,但我不确定如何将字符串设置为列表中的最后一个元素

当前方法:

 public List<String> placeParentsLastInLineItemList(List<String> listToReorder){

    for(String string: listToReorder){

       if(checkIfWordIsInTextFile(string)==true){
          listToReorder.set(,string); //how to set the string to the last element in list?
       }

    return listToReorder;
 }
Run Code Online (Sandbox Code Playgroud)

java arraylist

2
推荐指数
1
解决办法
1万
查看次数

SQL- TIMESTAMP、DATE 和 TIMESTAMP WITH TIMEZONE 之间的区别?

之间有什么区别TIMESTAMPDATETIMESTAMP with TIMEZONE

例如,如果我想搜索01-JAN-1990和 之间的所有条目01-JAN-2000 ,我将如何以每种格式进行搜索?

我一直在寻找时间戳:

SELECT COUNT(*) FROM TABLE_NAME WHERE DATE BETWEEN '01-JAN-1990' AND '01-JAN-2000;
Run Code Online (Sandbox Code Playgroud)

但我不确定使用什么格式来搜索DATETIMESTAMP WITH TIMEZONE.

sql oracle timestamp date

1
推荐指数
1
解决办法
1万
查看次数

QuerySyntaxException:意外的令牌*

我尝试使用EntityManager运行查询时收到以下错误:

Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8
Run Code Online (Sandbox Code Playgroud)

可能是什么导致了这个?

码:

public static void main(String [] args) {

        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("myClass");

        EntityManager em = entityManagerFactory.createEntityManager();

        List<String> results= em.createQuery(
                "SELECT * FROM myClass ")
                .setMaxResults(10)
                .getResultList();

}
Run Code Online (Sandbox Code Playgroud)

java sql oracle hibernate jpa

1
推荐指数
1
解决办法
2792
查看次数

Mockito 空指针与 TypedQuery?

我正在使用 Mockito 来模拟 Java 持久性查询的结果集:

被嘲笑的代码:

 public void queryMethod(String name){
  List<Person> result = persistence.entityManager().createQuery(
                    "Select p from Person p +
                            " where p.name= :uniqueId" , Person.class)
                    .setParameter("name", name)
                    .getResultList();

 }
Run Code Online (Sandbox Code Playgroud)

测试代码:

String name  = "anyName";
Person person = mock(Person.class);
List<Person> personList = new ArrayList<>();
personList.add(person);

    TypedQuery query = mock(TypedQuery.class);
    when(entityManager.createQuery(anyString(), Matchers.<Class<Object>>anyObject())).thenReturn(query);
    when(query.setParameter(1, name)).thenReturn(query);
    when(query.getResultList()).thenReturn(personList);
Run Code Online (Sandbox Code Playgroud)

我收到空指针错误:

List<Person> result = persistence.entityManager().createQuery(
Run Code Online (Sandbox Code Playgroud)

可能是什么原因造成的?

java unit-testing nullpointerexception mockito

1
推荐指数
1
解决办法
7599
查看次数

如何验证非模拟方法被调用?

我想测试我的方法在无法模拟的同一类中调用了另一个方法。

例:

public void methodToTest(){

//other stuff to test that can be mocked
someClassICanMock.doSomething();

//method within same class that cannot be mocked
methodFromSameClassIWantToVerify();

}
Run Code Online (Sandbox Code Playgroud)

我如何使用a verify来检查我的测试方法methodFromSameClassIWantToVerify();?

编辑:不是重复的,因为我专门指的是如何使用Mockito对此进行测试。

java unit-testing verify mockito method-call

1
推荐指数
1
解决办法
7613
查看次数

在Java中使用EntityManager返回计数本机查询的结果?

我有以下内容 SQL Query :

SELECT COUNT(*) FROM DOG where ID = 'SampleId';
Run Code Online (Sandbox Code Playgroud)

我试着写这个java:

public int returnCountOfDogTable(String id){

        String sql= "SELECT COUNT(*) FROM DOG WHERE ID =:id";
        Query query = persistence.entityManager().createNativeQuery(sql);
        query.setParameter("id", id);
        List<Integer> resultList = query.getResultList();
        int result = resultList.get(0);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个例外:

java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Integer
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

java int integer entitymanager classcastexception

1
推荐指数
2
解决办法
1万
查看次数

JSON只允许一个顶级值?

我有以下Java对象:

public class PersonDetails {
    private Person person;
    private List<Relative> relatives;

    public PersonDetails() {};

    //getters and setters

    }
Run Code Online (Sandbox Code Playgroud)

我正在尝试为此创建Stub JSON,以便我可以使用它将其解析为Java对象GSON.

当我尝试使用下面的JSON时,我收到错误:

JSON only allows one top level value
Run Code Online (Sandbox Code Playgroud)

我怎样才能改变JSON它以使其有效?

我当前的JSON:

{
    "Person": {

        "id": "123",
        "name: "stubName"
    },
    [
     "Relative": {

        "name": "relative1",
        "relation: "mother"

     }

    ]
}
Run Code Online (Sandbox Code Playgroud)

java parsing json gson

1
推荐指数
1
解决办法
5476
查看次数

Java POJO 到 JSON 的转换工具?

我有一个Java Object我试图映射到一个JSON对象。

是否有在线工具可以打印 Java 对象toString()并将其转换为JSON对象?

我知道我可以在代码中使用例如:

https://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/

java arrays tostring pojo

1
推荐指数
1
解决办法
2万
查看次数