Printemps 3.1.2 RowMapper paramétrage
Je suis de développement d'une application web à l'aide de Printemps 3.1.2, et de la nécessité de créer une ligne personnalisée mappeur. J'ai créé une private static final de la classe qui implémente RowMapper, mais je reçois le message d'erreur "Le type RowMapper n'est pas générique; il ne peut pas être paramétrée avec des arguments ".
Tous les Printemps liées pots dans mon dossier lib sont de 3.1.2.Version version. J'ai été incapable de trouver quoi que ce soit de la sorte d'ailleurs. Toutes les idées peuvent expliquer ce qui se passe?
Grâce.
Voici un exemple de code:
public class OutPatient extends Patient{
@Pattern(regexp="[0-9]+", message="OPD No. should only contain digits.")
String opdNo;
public String getOpdNo() {
return opdNo;
}
public void setOpdNo(String opdNo) {
this.opdNo = opdNo;
}
}
Classe DAO:
@Repository("dbHelper")
public class DBHelperImpl{
private JdbcTemplate jdbcTemplate;
private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
this.namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(dataSource);
}
public List<OutPatient> fetchOutPatients() {
String sql = "SELECT OPDNO as opdNo FROM `test`.`out_patient`";
@SuppressWarnings("unchecked") //Have to add this annotation to prevent warning
List<OutPatient> outPatients = jdbcTemplate.query(sql, new OutPatientRowMapper());
return outPatients;
}
private static final class OutPatientRowMapper implements RowMapper{ //Unable to add <OutPatient> generics here!
public OutPatient mapRow(ResultSet rs, int rowNum) throws SQLException {
OutPatient outPatient = new OutPatient();
outPatient.setOpdNo(rs.getString("opdNo"));
return outPatient;
}
}
- Pourriez-vous fournir un exemple de code illustrant le problème?
- Ajout d'un exemple de code dans la question.
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même genre de problème, Eclipse me prévenir sur RowMapper pas être générique.
J'ai donc écrit à l'importation par la main:
import org.springframework.jdbc.de base.RowMapper;
Qui a produit cette erreur:
The import org.springframework.jdbc.core.RowMapper collides with another import statement
Alors j'ai regardé mes autres déclarations d'importation et que dois-je trouver tapi dans mon projet pour le Printemps:
import javax.swing.d'arbre en arbre.RowMapper;
...J'ai supprimé que l'importation et puis tout a fonctionné comme il se doit.
Il devrait être quelque chose comme ceci
Ce code compile sans avertissements
Aucune des réponses ci-dessus, a travaillé pour moi. J'ai eu toutes les bonnes dépendances Maven, ils étaient juste dans le mauvais ordre dans la pom.xml fichier. Après j'ai changé l'ordre de la commande ci-dessous, RowMapper a été reconnu comme une classe paramétrée.
J'ai trouvé la solution à mon problème après bricoler un peu plus. Il y avait quelques vieux ressort pots (2.0, je suppose) dans le dossier lib de Tomcat. Qui a conduit à ressort à l'aide d'une version plus ancienne de RowMapper qui didnot soutien de paramétrage.
Solution à ce problème est de supprimer les anciens pots à partir de la construction de chemin d'accès, ou pour modifier l'ordre de les bocaux de l'Ordre et de l'onglet Exporter et d'apporter les derniers pot vers le haut.
Merci à tous ceux qui ont répondu!
vous devez ajouter ces dépendances
Le problème est qu'il ne trouve pas la bibliothèque pour obtenir des RowMapper. La solution est d'ajouter la dépendance.
Ce sont ceux que vous devez ajouter à votre pom.xml: