Java Servlet and JDBC Example | Insert data in MySQL Last Updated : 10 Dec, 2019 Comments Improve Suggest changes Like Article Like Report Prerequisites: Servlet, JDBC Connectivity To start with interfacing Java Servlet Program with JDBC Connection: Proper JDBC Environment should set-up along with database creation. To do so, download the mysql-connector.jar file from the internet, As it is downloaded, move the jar file to the apache-tomcat server folder, Place the file in lib folder present in the apache-tomcat directory. To start with the basic concept of interfacing: Step 1: Creation of Database and Table in MySQL As soon as jar file is placed in the folder, create a database and table in MySQL, mysql> create database demoprj; Query OK, 1 row affected (4.10 sec) mysql> use demoprj Database changed mysql> create table demo(id int(10), string varchar(20)); Query OK, 0 rows affected (1.93 sec) mysql> desc demo; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(10) | YES | | NULL | | | string | varchar(20) | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 2 rows in set (0.40 sec) Step 2: Implementation of required Web-pages Create a form in HTML file, where take all the inputs required to insert data into the database. Specify the servlet name in it, with the POST method as security is important aspects in database connectivity. html <!DOCTYPE html> <html> <head> <title>Insert Data</title> </head> <body> <!-- Give Servlet reference to the form as an instances GET and POST services can be according to the problem statement--> <form action="./InsertData" method="post"> <p>ID:</p> <!-- Create an element with mandatory name attribute, so that data can be transfer to the servlet using getParameter() --> <input type="text" name="id"/> <br/> <p>String:</p> <input type="text" name="string"/> <br/><br/><br/> <input type="submit"/> </form> </body> </html> Output: Submit the data (with validation) as all the required data are inserted. Step 3: Creation of Java Servlet program with JDBC Connection To create a JDBC Connection steps are Import all the packages Register the JDBC Driver Open a connection Execute the query, and retrieve the result Clean up the JDBC Environment Create a separate class to create a connection of database, as it is a lame process to writing the same code snippet in all the program. Create a .java file which returns a Connection object. Java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; // This class can be used to initialize the database connection public class DatabaseConnection { protected static Connection initializeDatabase() throws SQLException, ClassNotFoundException { // Initialize all the information regarding // Database Connection String dbDriver = "com.mysql.jdbc.Driver"; String dbURL = "jdbc:mysql:// localhost:3306/"; // Database name to access String dbName = "demoprj"; String dbUsername = "root"; String dbPassword = "root"; Class.forName(dbDriver); Connection con = DriverManager.getConnection(dbURL + dbName, dbUsername, dbPassword); return con; } } Step 4: To use this class method, create an object in Java Servlet program Below program shows Servlet Class which create a connection and insert the data in the demo table, Java import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.PreparedStatement; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; // Import Database Connection Class file import code.DatabaseConnection; // Servlet Name @WebServlet("/InsertData") public class InsertData extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { // Initialize the database Connection con = DatabaseConnection.initializeDatabase(); // Create a SQL query to insert data into demo table // demo table consists of two columns, so two '?' is used PreparedStatement st = con .prepareStatement("insert into demo values(?, ?)"); // For the first parameter, // get the data using request object // sets the data to st pointer st.setInt(1, Integer.valueOf(request.getParameter("id"))); // Same for second parameter st.setString(2, request.getParameter("string")); // Execute the insert command using executeUpdate() // to make changes in database st.executeUpdate(); // Close all the connections st.close(); con.close(); // Get a writer pointer // to display the successful result PrintWriter out = response.getWriter(); out.println("<html><body><b>Successfully Inserted" + "</b></body></html>"); } catch (Exception e) { e.printStackTrace(); } } } Step 5: Get the data from the HTML file To get the data from the HTML file, the request object is used which calls getParameter() Method to fetch the data from the channel. After successful insertion, the writer object is created to display a success message. After insertion operation from Servlet, data will be reflected in MySQL Database Output: Result in MySQL Interface mysql> select * from demo; +------+---------------+ | id | string | +------+---------------+ | 1 | GeeksForGeeks | +------+---------------+ 1 row in set (0.06 sec) This article shows the basic connection of JDBC with Java Servlet Program, to insert data in large volume then proper validation should be done as if any data which is not in proper format will encounter an error. All the data inserting in Database should be encrypted. Comment More infoAdvertise with us Next Article Java Servlet and JDBC Example | Insert data in MySQL bilal-hungund Follow Improve Article Tags : Java JDBC mysql java-servlet Practice Tags : Java Similar Reads Hibernate Example using JPA and MySQL Hibernate is a framework that provides some abstraction layer, meaning that the programmer does not have to worry about the implementations, Hibernate does the implementations for you internally like writing queries to perform CRUD operations, establishing a connection with the database, etc. It is 4 min read Inserting Single and Multiple Records in MySQL using Java Java Database Connectivity is an API that helps us to connect a Java program to any SQL Database Instance. This connection gives power to developers to programmatically insert, delete, or update data from the database. JDBC contains in-built methods to run queries and updates on the database. In thi 6 min read CRUD Operation in MySQL Using PHP, Volley Android - Insert Data It is known that we can use MySQL to use Structure Query Language to store the data in the form of RDBMS. SQL is the most popular language for adding, accessing and managing content in a database. It is most noted for its quick processing, proven reliability, ease, and flexibility of use. The applic 10 min read Performing Database Operations in Java | SQL CREATE, INSERT, UPDATE, DELETE and SELECT In this article, we will be learning about how to do basic database operations using JDBC (Java Database Connectivity) API in Java programming language. These basic operations are INSERT, SELECT, UPDATE, and DELETE statements in SQL language. Although the target database system is Oracle Database, t 6 min read Spring Batch Example - Read and Process CSV File to MySQL Database GeekMart is a multinational technology company that focuses on the e-commerce business. It has a large number of suppliers who supply huge volumes of products to them. Suppliers share the product details in CSV file format. Help GeekMart to read the product details from the CSV file and store it in 7 min read Creating Servlet Example in Eclipse Servlets are Java programs that run on a Java-enabled web server or application server. They are used to handle the request obtained from the web server, process the request, produce the response, and then send the response back to the web server. Prerequisites:Eclipse IDE installed: We can download 6 min read Handling HTTP GET and POST Requests in Servlets Understanding how to handle HTTP GET and POST requests in Java Servlets is very important for developing robust web applications. In this article, we will explore how to handle HTTP GET and POST requests in servlets, their key differences, and when to use each. We will also optimize redundant servle 5 min read Java Database Connectivity with MySQL In Java, we can connect our Java application with the MySQL database through the Java code. JDBC ( Java Database Connectivity) is one of the standard APIs for database connectivity, using it we can easily run our query, statement, and also fetch data from the database. Prerequisite to understand Jav 3 min read PHP | Inserting into MySQL database Inserting data into a MySQL database using PHP is a crucial operation for many web applications. This process allows developers to dynamically manage and store data, whether it be user inputs, content management, or other data-driven tasks. In this article, We will learn about How to Inserting into 6 min read Understanding and Preventing SQL Injection in Java Applications In the world of web applications and databases, security is paramount. SQL injection is a common and dangerous vulnerability that can compromise your application's integrity. In this article, we will delve into the fundamentals of SQL injection, understand how it works, and learn how to protect your 5 min read Like