My Application will not start. gives me an error creating a bean with the name of my file. I've searched and found similar posts to this question but they didnt seem to pertain to my error so I am hoping someone can find what may be causing this file to fail. Also, I am at a cross between two methods. Do I use the FlatFileReader or MomgoItemreader? I just need to retrieve two things from the DB firstname and lastname. I need to read the db and then write it to a file which I havent done yet. Any help would be greatly appreciated.
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Here is my class
@Configuration
@EnableBatchProcessing
public class PaymentPortalJob {
private static final Logger LOG = 
LoggerFactory.getLogger(PaymentPortalJob.class);
@SuppressWarnings("unused")
@Autowired
private JobBuilderFactory jobBuilderFactory;
@SuppressWarnings("unused")
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Autowired
private PaymentAuditRepository paymentAuditRepository;
 // @Bean
 // public FlatFileItemReader<PaymentAudit> PaymentPortalReader() {
 //     LOG.info("Inside PaymentPortalReader Method {}", "");
 //     return new FlatFileItemReaderBuilder<PaymentAudit> 
 ().name("PaymentPortalReader")
 //             .delimited().names(new String[] { "rxFname", "rxLname" })
 //             .fieldSetMapper(new BeanWrapperFieldSetMapper<PaymentAudit> 
    () {
 //                 {
 //                     setTargetType(PaymentAudit.class);
 //                 }
 //             }).build();
 //
 // }
@Bean
public ItemReader<PaymentAudit> reader() {
    LOG.info("inside of ItemReader");
    MongoItemReader<PaymentAudit> reader = new MongoItemReader<PaymentAudit>();
    try {
        reader.setTemplate(mongoTemplate());
    } catch (Exception e) {
        LOG.error(e.toString());
    }
    reader.setCollection("local");
    return reader();
}
@Bean
public ItemProcessor<PaymentAudit, PaymentAudit> processor() {
    return new PaymentPortalNOSQLProcessor();
}
@Bean
public ItemWriter<PaymentAudit> writer() {
    MongoItemWriter<PaymentAudit> writer = new MongoItemWriter<PaymentAudit>();
    try {
        writer.setTemplate(mongoTemplate());
    } catch (Exception e) {
        LOG.error(e.toString());
    }
    writer.setCollection("paymentPortal");
    return writer;
}
@Bean
Job job(JobBuilderFactory jbf, StepBuilderFactory sbf, ItemReader<? extends PaymentAudit> ir,
        ItemWriter<? super PaymentAudit> iw) {
    Step s1 = sbf.get("file-db").<PaymentAudit, PaymentAudit>chunk(100).reader(ir).writer(iw).build();
    return jbf.get("etl").incrementer(new RunIdIncrementer()).start(s1).build();
}
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
    return new SimpleMongoDbFactory(new MongoClient(), "local");
}
@Bean
public MongoTemplate mongoTemplate() throws Exception {
    MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
    return mongoTemplate;
}
}
appplication.yml
 mongodb:
databasePort: xxxxx
databaseName: local
 spring:
   data:
    mongodb:
      host: localhost
      port: xxxxx
  profiles:
   active: local
   batch:
    job:
      enabled: true
Processor:
package com.spring_batchjob.job.item;
import org.springframework.batch.item.ItemProcessor;
import com.spring_batchjob.bean.PaymentAudit;
public class PaymentPortalNOSQLProcessor implements 
ItemProcessor<PaymentAudit, PaymentAudit> {
@Override
public PaymentAudit process(PaymentAudit bean) throws Exception {
    return bean;
}
}
repo:
package com.spring_batchjob.repository;
import java.time.LocalDateTime;
import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import com.spring_batchjob.bean.PaymentAudit;
@Repository
public interface PaymentAuditRepository extends 
MongoRepository<PaymentAudit, String> {
//  List<PaymentAudit> findByCreateDttmBetween(LocalDateTime createStart, 
   LocalDateTime createEnd);
   List<PaymentAudit> findByRxFNameAndRxLName(String rxFName, String 
   rxLName);
}
Error after running app:
2018-10-26 13:26:34.256  WARN 16376 --- [  restartedMain] 
ConfigServletWebServerApplicationContext : Exception encountered during 
context initialization - cancelling refresh attempt: 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 'paymentPortalJob': Unsatisfied dependency expressed 
through field 'jobBuilderFactory'; nested exception is 
org.springframework.beans.factory.UnsatisfiedDependencyException: Error 
creating bean with name 
'org.springframework.batch.core.configuration.annotation.
 SimpleBatchConfiguration': Unsatisfied dependency expressed through field 
'dataSource'; nested exception is 
 org.springframework.beans.factory.BeanCreationException: 
 Error creating bean 
 with name 'dataSource' defined in class path resource 
[org/springframework/boot/autoconfigure/jdbc/
DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method 
failed; nested exception is 
org.springframework.beans.BeanInstantiationException: Failed to instantiate 
[com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw 
exception; nested exception is 
org.springframework.boot.autoconfigure.jdbc.
DataSourceProperties$DataSourceBeanCreationException: Failed to determine a 
suitable driver class