To connect to a MySQL database in Java, you would typically use the JDBC API along with the MySQL Connector/J library. You need to load the MySQL driver, establish a connection using the DriverManager class, and then you can execute queries using a Statement or PreparedStatement object.
In depth
Connecting to a MySQL database in Java is primarily done through the Java Database Connectivity (JDBC) API. This API provides methods for establishing a connection to the database, sending SQL queries, and processing the results. The MySQL Connector/J library is a JDBC driver specifically designed for MySQL databases and must be included in your project's dependencies. After loading the driver, which can be done with Class.forName(), you establish a connection using DriverManager.getConnection(), passing in the database URL, username, and password. It's important to handle SQL exceptions and always close your connections to avoid memory leaks. Additionally, using PreparedStatement can help prevent SQL injection attacks by parameterizing queries.
Example scenario
In a production scenario, a developer might create a simple Java application to manage employee records stored in a MySQL database. By using JDBC, the developer writes a method that connects to the database, retrieves employee data, and displays it in a user-friendly format. They would handle potential SQL exceptions and ensure the connection is closed properly after operations, demonstrating good practices in resource management.
Common mistakes
One common mistake is neglecting to close database connections, which can lead to resource leaks and eventually exhaust the connection pool. It's essential to always close the connection in a finally block or use try-with-resources. Another mistake is using Statement instead of PreparedStatement, which can expose the application to SQL injection vulnerabilities. Developers should use PreparedStatement for executing queries to ensure that input is safely handled.
Follow-up questions
- What are the key differences between Statement and PreparedStatement?
- How do you handle exceptions when connecting to a database?
- Can you explain the importance of connection pooling?

Want all 2,000 questions in one PDF?
- Short answers, in-depth explanations, common mistakes and follow-ups
- 89 topics, from Beginner to Architect, with a clickable contents list
- 226 extra questions that are not on this website
- Free Bonus Pack: 30-day study plan, behavioral questions, salary scripts
Includes 226 extra questions that are not on this site, plus a free Bonus Pack.
Get both books for $9.99 (save $2.99):
The material stays free to read online. This is the organised, offline, print-ready PDF edition. Secure payment by PayPal; your personal download link is emailed after payment is confirmed. Digital product, no shipping.