Java 如果数据库表中已经存在项,则不添加该项的代码是什么

Java 如果数据库表中已经存在项,则不添加该项的代码是什么,java,mysql,database,insert,Java,Mysql,Database,Insert,所以我一直在做我们的编程项目,它与添加产品有关。 现在,我的AddProduct代码仍然有效 我想插入一个代码,如果我添加的产品名称与数据库中已有的产品名称相同,则会出现一个Jdialog,表示该产品已添加,然后代码不会在数据库中添加产品名称,但如果该名称在数据库中尚不存在,则会出现一个Jdialog,表示该产品已添加已添加到数据库中,则代码将在数据库中添加产品名称 问题是我对我将要使用的代码一无所知。我应该使用if-else语句吗?如果是的话?怎么用? 求你了,我急需你的帮助 非常感谢您您必须

所以我一直在做我们的编程项目,它与添加产品有关。 现在,我的AddProduct代码仍然有效 我想插入一个代码,如果我添加的产品名称与数据库中已有的产品名称相同,则会出现一个Jdialog,表示该产品已添加,然后代码不会在数据库中添加产品名称,但如果该名称在数据库中尚不存在,则会出现一个Jdialog,表示该产品已添加已添加到数据库中,则代码将在数据库中添加产品名称

问题是我对我将要使用的代码一无所知。我应该使用if-else语句吗?如果是的话?怎么用? 求你了,我急需你的帮助
非常感谢您

您必须使用地图格式结构,因为数据是以密钥和特定数据的数据格式显示的,您需要在产品名称上添加prepare key base并在需要插入任何项目时保存它,然后仅扫描密钥(如果发现相似),然后添加数据已经存在的消息&如果没有,则插入到在实体类中使用unique=true

@Entity
public class Employee {
 @Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "username" , unique = true)
private String username;
//// constructors
//// getters and setters
}
在控制器中,如果用户名已经出现在数据库中,则抛出异常, 捕获异常并将消息显示为数据库中已存在的值

@RestController
public class EmployeeController {
@Autowired
private EmployeeRepository employeeRepository;

@Autowired
public EmployeeController(EmployeeRepository employeeRepository) {
    this.employeeRepository = employeeRepository;
}

@RequestMapping(value = "/create", method = RequestMethod.POST)
public String create(@RequestBody Employee employee) {
    try {
        employeeRepository.save(employee);
        return "employee added successfully";
    } catch (DataIntegrityViolationException e) {

        String employeename = employee.getUsername();
        return "employee named " + employeename + " already exists";
    }
}
并添加存储库接口

@Repository
public interface EmployeeRepository extends JpaRepository<Employee,Long> {
List<Employee> findById(long id);
List<Employee> findByUsername(String username);

}
@存储库
公共接口EmployeeRepository扩展了JpaRepository{
列表findById(长id);
列出findByUsername(字符串用户名);
}

可能重复的请参见手册中的INSERT有趣的想法,但一般来说,您的表中可能有其他约束,sql错误可能与重复的用户名不同。捕获
DataIntegrityViolationException
可能不是最好的解决方案,因为它可能有副作用。