Skip to content

Spring Boot application for importing csv file into MySQL db using Apache Commons CSV

License

Notifications You must be signed in to change notification settings

yildizmy/import-data-using-apache-commons-csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Import data into MySQL using Apache Commons CSV

Project used for importing csv file into MySQL database using Apache Commons CSV.

Description

Spring Boot provides some properties with which we can add the exception message, exception class, or even a stack trace as part of the response payload:

server.error.include-message=always
server.error.include-binding-errors=always
server.error.include-stacktrace=on_param
server.error.include-exception=false

Using these Spring Boot server properties in our application.properties we can alter the error response to some extent.

Note that we’ve set the property include-stacktracee to on_trace_param which means that only if we include the trace param in the URL (?trace=true), we’ll get a stack trace in the response payload:

We might want to keep the value of include-stacktrace flag to never, at least in production, as it might reveal the internal workings of our application.

Getting Started

Dependencies

  • Spring Web
  • Spring Boot
  • Spring Data JPA
  • Apache Commons CSV
  • MySQL Database

Installing

  • Run the following command in the project root for creating MySQL database in Docker
docker-compose up -d

To set container name as mysql instead of the folder name where docker-compose.yml file is located, use the following command:

docker-compose -f docker-compose.yml -p "mysql" up

  • Database connection url:
jdbc:mysql://localhost:3306/employee-db

API Endpoints

All URIs are relative to http://localhost:8080/api/v1

Class Method HTTP request Description
EmployeeController importFile POST /employees/import Import list of employees file
EmployeeController findByEmail GET /employees/{email} Get employee by email
EmployeeController findAll GET /employees Get all employees
EmployeeController deleteAll DELETE /employees Delete all employees

Documentation

Apache Commons CSV User Guide
Hibernate ORM 5.6.10.Final User Guide
Hibernate Natural Ids with @NaturalId
The best way to map a @NaturalId business key with JPA and Hibernate
How to Use Hibernate Natural IDs in Spring Boot

Authors

Murat Yıldız

Version History

License

...

Acknowledgements

...

About

Spring Boot application for importing csv file into MySQL db using Apache Commons CSV

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages