Skip to content

JJJazl/JDBC-test-task-review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JDBC test task

Students task description:

  • Establish connection to your Database.
  • Create init_db.sql file in src/main/resources folder.
  • Create Manufacturer model.
  • Create DAO layer for Manufacturer model. Below you can see the list of required methods.
  • You're already given an injector and @Dao annotation. Do not forget to use it for Dao implementations.
  • Return Optional when you can return null in DAO. For example: public Optional<Manufacturer> get(Long id);
  • In the main method call CRUD methods. It may look like:
public class Main {
    private static final Injector injector = Injector.getInstance("YOUR_PACKAGE");

    public static void main(String[] args) {
        ManufacturerDao manufacturerDao = (ManufacturerDao) injector.getInstance(ManufacturerDao.class);
        Manufacturer manufacturer = new Manufacturer();
        // initialize field values using setters or constructor
        manufacturerDao.create(manufacturer);
        // test other methods from ManufacturerDao
    }
}

WARNING!!! Path to your project must contain only english letters. Also, it mustn't contain spaces. In other case Injector won't work correctly.

  • Your table should be named manufacturers and contain these columns: id, name, country, and is_deleted.

Java classes structure:

  • Manufacturer
public class Manufacturer {
    private Long id;
    private String name;
    private String country;
}

ManufacturerDao methods:

- Manufacturer create(Manufacturer manufacturer);
- Optional<Manufacturer> get(Long id);
- List<Manufacturer> getAll();
- Manufacturer update(Manufacturer manufacturer);
- boolean delete(Long id);

Create custom exception

e.printStackTrace() - is a bad practice! Let's create custom exception DataProcessingException and constructor with two parameters: String message and Throwable ex.
It should be extended from RuntimeException. You should rethrow this exception in catch block on dao layer.

You can check yourself using this checklist

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages