As a little milestone in the “Variations” project I’ll introduce Spring as a configuration and dependency injection framework, inversion of control container and so on — after the big part Liquibase.
I will not give a full stack introduction to Spring. I suggest you to read a book in this topic, there are many good introductory and pro books about Spring on the market. If you want to have an application quickly up and running search between the guides on Spring (take a closer look at Spring Boot).
OK, imagine you work on a software which has a lot of modules, you have a database in the background and you use it. You create, read, update and delete data, the reading queries contain sometimes an IN clause where you enter some values. Beside this
you are damned you are forced you have to use Oracle as DBMS.
One day you get a bug report from your QA that something does not work what worked in the last… months. You look up the StackTrace (it’s good if you have one) and see following error message:
||maximum number of expressions in a list is 1000
Let’s continue where we left last time. We want to create the database, the initial tables which we think could be enough for starting the development.
Assume we have chosen the database server we will use for beneath our application and write the SQL script for creating the tables — and we used database specific elements too. But then our client tells us, that the database does not fit his/her needs so we should change to another. Drat. But we re-write our script as follows and we avoid to use any specific keywords.