[3/4] Docker: SpringBoot, Hibernate & Web API

In previous episodes (Part1, Part2) we saw how to create Java Maven project from scratch using SpringBoot – followed by how to deploy the application to docker and then I also demonstrated how can you set up MySQL database server, with automated initialization of a fresh database instance.

Now, let’s see how to set up RESTful Web API to display data from database using Hibernate ORM. We’ll also see how to set up a local development environment and docker deployment environment to quickly switch between the two, and establish an efficient work-flow for your project. Next, we’d set up our project to perform CRUD operations using Hibernate. And finally, we will create our Web API endpoints which can serve the requests made from the browser, in JSON format.

Let’s Continue reading “[3/4] Docker: SpringBoot, Hibernate & Web API”

[2/4] Docker: Setting up MySQL

Previously, in this series we talked about getting started with docker and performing some elementary operations. In this episode, we’d dive deeper into docker, and then we’d swing by some of the commands you could use to follow along, and perform some common tasks in a terminal window.

Docker command line: Getting started

If you were to run a following command, you can see all containers, including the ones which are stopped, using the following command:

$ docker container ls -a

With following command, you can see all docker images:

$ docker image ls -a

As you can probably tell, this command is almost identical to the command to list (ls) all (-a).
Following are the equivalent commands to the two commands we saw above, respectively:

$ docker ps -a $ docker images -a

Let’s say you want to, download (pull) a docker image, say MySQL, in advance. It is just like cloning a repository from GitHub:

$ docker pull mysql

If no tag is specified, then :latest tag is assumed by default. Now to run this newly downloaded image, you can possibly run the following command:

Running the container:

$ docker run \
  -e MYSQL_DATABASE=epidemics \
  -e MYSQL_USER=epidemics \
  -e MYSQL_PASSWORD=epidemics \
  -p 3306:3306 \
  --name mysql \
  --mount type=bind,source=/abs_path/,target=/docker-entrypoint-initdb.d \

Continue reading “[2/4] Docker: Setting up MySQL”

[1/4] Docker: Java, SpringBoot, MySQL & docker-compose

I created a video, for a web conference for my school. In this video I talk about how to perform initial groundwork to perform initial set-up. In the 2nd episode, I would talk more about the docker-compose v2, v 2.1 and v2.3.



Below are some code snippets / recipes that I have had prepared for myself and I thought of sharing with ya’ll as a firs post in C# category. If you do not find one that you are looking for or want more, just drop me a request or comment below, I’d try to address the request.

Example Description Download
Global Variables in C# Different scenarios as your requirement and need zip
Text to SQL Server Read a text file and insert all records in SQL Server. zip
Update combobox items according to selection of column-name in other combobox zip
MySQL(SQL Server) To MsAccess Copy table of Ms-Access from the data of the MySQL zip
(Basic) Reading Ms-Excel spreadsheets Reading data from Excel sheets using C# zip
Updating Ms-Excel spreadsheets Updating data of Excel sheets using C# zip
Accessing .config file The app.config can be used to access some setings (like conn string) anywhere in the project zip
MySQL (SQL Server) database to CSV Convert record set from MySQL query to csv file zip
String Delimiter Various illustrations in a single project, demonstrating ways to use the String.Split() function zip
Date – Times Gets the beginning and ending dates of

  • This Week
  • Last Week
  • This Month
  • Last Month
  • Last 6 Months
  • This Year
  • Last 3 Years
Update/Delete CSV Here is the work around for Updating / Deleting records from CSV, which usually is just a file IO operation otherwise zip
json json in C# using JSON .NET & LINQ zip
json serialization serialization/de-serialization of json zip
Stateful iterations By using yield keyword, difference b/w IEnumerable and IEnumerator zip


Below are some code snippets that I have prepared initially, if you do not find one that you are looking for, just [ drop me an E-mail ] or just a comment below would suffice. Also please note that a demo illustrated in SQL server should also work with MySQL & vice-versa.
Example Description Download
Populate gridview programmatically using MySQL Loading the gridview programmatically using C# from database zip
Gridview with a drop-down filter in the header Filter your gridview with a drop down in the table header zip
Adding controls on the fly in GridView (Esp. with custom user control,) add hyper-link check-boxes dynamically zip
Paging & Sorting in Gridview Programmatically handle paging and sorting events of gridview zip
Insert/Update/Delete using Button field of the DataGridView(Accessing the cell values of the row containing the button clicked) if you want to retrieve the cell values of the row after the button from that row has clicked and to fire database queries zip
Export Gridview to … MS ACCESS / MS EXCEL / CSV zip
Combobox hard-coded values & Database records to gather Loading a combobox, with static items as well as items from database zip
Sending plain text E-mail message from web app to Gmail You can specify from, password, to, subject and message to send an email zip
Caching 1 Simple Page Level Caching zip
Caching 2 Caching SQL Server Caching for certain amount of time zip
Caching 3 SQLServer Automated Caching and Updating Cached version at Regular Intervals and upon Create/Update/Delete operations zip
Caching 4 Partial Page Caching, Multiple & Multi-Level Page caching and … Clearing the cache zip
Shortening GUID Sometimes we want to get the shortest GUID for building URLs or for dynamic file names, So I created a slight variant of GUID zip
Parsing Uri (Query Params) When one has the URL of the page from which QueryParams are wanted but can not use Request.QueryString (when the URL is not of current page, stored in a object in a memory etc) zip
Nested GridViews A basic example of how a grid can become a part of data row of some master table (master – grid ) zip
Nested GridViews + Conditional Formatting Apply conditional formatting to your nested grid zip
Filter DataGrid w/ LINQ An example demonstrating how LINQ can be used to filter out the data from the Data Grid zip
Gridview : JavaScript/jQuey to databing + filter An example demonstrating how to bind data to Gridview using Client Side Script + filtering ( filter as you type ) zip
Nested GridVeiw A gridview inside a gridview zip
Nested Gridview Nested Expandable & Collapsible Gridview (Same Row) zip
Nested Gridview Nested Expandable & Collapsible Gridview (Next Row) zip
Signal R Move Shape + Group Discussion / Chat + etc … zip
G.Drive Spreadsheets Access Google-SpreadSheet Via Gdata And C# zip
Parameter Parsing Parsing parameters from query string zip
Short GUID Get Short (& sweet) : unique strings, unique, not random chars as random may not be unique zip
String Float Double InterConversion zip
2D Array To-String And Vice-Versa zip
Async GridView (Take # 1) Loading the data for the gridview asynchronously from database

  • Poll Approach
  • Wait Approach
CSV to Gridview A sample web app demonstrating how to load gridview from multiple CSV dynamically (one at a time) zip
Crystal Report : Dynamic Binding Conditional Data-binding from multiple tables, after the report has been loaded zip