在Java中,可以使用以下代码来判断插入数据是否重复:
public class DaoImpl {
private Connection connection;
// ...
public boolean isDataExist(String data) {
boolean exists = false;
try {
String sql = "SELECT COUNT(*) FROM table_name WHERE data = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, data);
ResultSet resultSet = preparedStatement.executeQuery();
if (resultSet.next()) {
int count = resultSet.getInt(1);
exists = count > 0;
}
} catch (SQLException e) {
e.printStackTrace();
}
return exists;
}
public void insertData(String data) {
boolean isExist = isDataExist(data);
if (isExist) {
System.out.println("Data already exists");
return;
}
try {
String sql = "INSERT INTO table_name (data) VALUES (?)";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, data);
preparedStatement.executeUpdate();
System.out.println("Data inserted successfully");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
在业务层中,首先调用isDataExist()
方法判断数据是否已存在。如果数据已存在,则直接返回,并不执行插入操作。如果数据不存在,则调用insertData()
方法进行插入操作。