在Spring Service层中从数据库中添加两个数字

时间:2017-09-30 22:11:34

标签: java spring

我有一个名为User的实体,它包含三个字段:

ID No1

1 5

2 4

然后我有一个扩展JpaRepository的UserRepository,因此包括crud操作。 我希望能够取值5和4并将它们加在一起。 该逻辑应该应用于服务层。 所以我有一个AddService接口和AddServiceImpl来实现该接口。

public interface AddService{
    public void addNumbers(user1, user2);
}

public class AddServiceImpl implements AddService{
     public void addNumbers(user1, user2){
            List<User> user1=userRepository.findOne(1);
            List<User> user2=userRepository.findOne(2);
     // how do I take those specific values that are on the field No?
 }
}

如何实施此服务以便添加这些数字? 我需要注入存储库并使用user1和user2中的数据保存一个列表,然后添加它们?但是我该怎么做?

3 个答案:

答案 0 :(得分:0)

尝试此代码并告诉我这是否是您想要的

import math as m
def check_deletions(str,fd):
    count=0
    for int in range(len(str)):
        delWord=str[:int]+str[int+1:]
        doubleChecker=False
        for i in range(int+1,len(str)-1):
            if delWord==str[:i]+str[i+1:]:
                doubleChecker=True
        if doubleChecker==True:
            doubleChecker=False
        else:
            for line in fd:
                if delWord==line.strip():
                    print(delWord)
    print("Found ",count," deletions")
def main():
    file=open("long-word-list.txt")
    check_deletions("baag",file)
    file.close()
main()

如果user1.getNo()或者user2.getNo()可能为null,请同时考虑这个问题。在这种情况下,我不知道你想要什么回来。

此外,更改界面以返回整数

public Integer addNumbers(user1, user2){
    List<User> user1=userRepository.findOne(1);
    List<User> user2=userRepository.findOne(2);
    Integer number1 = user1.getNo();
    Integer number2 = user2.getNo();
    return number1 + number2;
}

答案 1 :(得分:0)

user1.getID()和user1.getNo()没有用户类,很难分辨。 user2也是一样。你能为我们提供用户吗?

findOne不应该有返回类型的列表。它应该是独一无二的。

对存储库的调用不应该在您的addNumbers方法中,因为您的用户位于方法参数中。

答案 2 :(得分:0)

为什么需要User类型列表?无论如何,你应该做的是迭代列表,并为列表中的每个User对象使用该字段的getter获取数字。您必须拥有实体类中所有字段的getter和setter,这样您就可以在存储库类中获取实例变量的值。