public class MyApplication extends Application<MyConfiguration> {
final static Logger LOG = Logger.getLogger(MyApplication.class);
public static void main(final String[] args) throws Exception {
new MyApplication().run(args);
}
@Override
public String getName() {
return "PFed";
}
@Override
public void initialize(final Bootstrap<MyConfiguration> bootstrap) {
// TODO: application initialization
bootstrap.addBundle(new DBIExceptionsBundle());
}
@Override
public void run(final MyConfiguration configuration,
final Environment environment) {
// TODO: implement application
final DBIFactory factory = new DBIFactory();
final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "postgresql");
UserDAO userDAO = jdbi.onDemand(UserDAO.class);
userDAO.findNameById(1);
UserResource userResource = new UserResource(new UserService(userDAO));
environment.jersey().register(userResource);
}
我在findNameById得到以下错误。
java.lang.NoSuchMethodError错误: java.lang.Object对象.findNameById(I)Ljava/lang/String;
在网址:org.skife.jdbi.v2版本。sqlobject.CloseInternalDoNotUseThisClass类$$enhancerbyglib$$a0e63670.CGLIB$findNameById$5()
}
public interface UserDAO {
@SqlQuery("select userId from user where id = :email")
User isEmailAndUsernameUnique(@Bind("email") String email);
@SqlQuery("select name from something where id = :id")
String findNameById(@Bind("id") int id);
}