JDBC cannot be resolved to a type

2019-08-09 10:10发布

问题:

I'm trying to use the @JDBC annotation in my class definition as below, but Eclipse says JDBC cannot be resolved to a type. Why is that so?

I'm using MySQL as database engine and I've added the mysql-connector-java to WEB-INF/lib and added it to the Build Path of the project.

There's no option to import anything when I click on the lighbulb with an X on red square on the same line of code - just the Create annotation JDBC.

import java.util.List;

import javax.sql.DataSource;

@JDBC
public class MyClass {
...
}

回答1:

This annotation does not exist in Java EE nor in JDBC at all.

Given the combination MySQL + JDBC + Java EE + Eclipse, you were likely following this tutorial and copypasting code without reading the text. It mentions the following:

Also notice that we defined a new annotation called @JDBC. This allows us to inject the right repository into the Servlets as follows:

package com.bookstore;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

import javax.inject.Qualifier;

@Qualifier @Retention(RUNTIME) @Target({TYPE, METHOD, FIELD, PARAMETER})
public @interface JDBC {
}

So, you've got to create it yourself.