- Java Data Science Cookbook
- Rushdi Shams
- 512字
- 2021-07-09 18:44:27
Reading table data from a MySQL database
Data can be stored in database tables also. This recipe demonstrates how we can read data from a table in MySQL.
Getting ready
In order to perform this recipe, we will require the following:
- Download and install MySQL community server from http://dev.mysql.com/downloads/mysql/. The version used in this recipe is 5.7.15.
- Create a database named
data_science
. In this database, create a table namedbooks
that contains data as follows:The choice of the field types does not matter for this recipe, but the names of the fields need to exactly match those from the exhibit shown here.
- Download the platform independent MySql JAR file from http://dev.mysql.com/downloads/connector/j/, and add it an external library into your Java project. The version used in this recipe is 5.1.39.
How to do it...
- Create a method as public void
readTable(String user, String password, String server)
that will take the user name, password, and server name for your MySQL database as parameters:public void readTable(String user, String password, String server){
- Create a MySQL data source, and using the data source, set the user name, password, and server name:
MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUser(user); dataSource.setPassword(password); dataSource.setServerName(server);
- In a
try
block, create a connection for the database. Using the connection, create a statement that will be used to execute aSELECT
query to get information from the table. The results of the query will be stored in a result set:try{ Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM data_science.books");
- Now, iterate over the result set, and retrieve each column data by mentioning the column name. Note the use of the method that gives us the data you need to know the field type before you can use them. For instance, as we know that the ID filed is integer, we are able to use the
getInt()
method:while (rs.next()){ int id = rs.getInt("id"); String book = rs.getString("book_name"); String author = rs.getString("author_name"); Date dateCreated = rs.getDate("date_created"); System.out.format("%s, %s, %s, %sn", id, book, author, dateCreated); }
- Close the result set, the statement, and connection after iteration:
rs.close(); stmt.close(); conn.close();
- Catch some exceptions as you can have during this reading data from the table and close the method:
}catch (Exception e){ //Your exception handling mechanism goes here. } }
The complete method, the class, and the driver method to execute the method are as follows:
import java.sql.*; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; public class TestDB{ public static void main(String[] args){ TestDB test = new TestDB(); test.readTable("your user name", "your password", "your MySQL server name"); } public void readTable(String user, String password, String server) { MysqlDataSource dataSource = new MysqlDataSource(); dataSource.setUser(user); dataSource.setPassword(password); dataSource.setServerName(server); try{ Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM data_science.books"); while (rs.next()){ int id = rs.getInt("id"); String book = rs.getString("book_name"); String author = rs.getString("author_name"); Date dateCreated = rs.getDate("date_created"); System.out.format("%s, %s, %s, %sn", id, book, author, dateCreated); } rs.close(); stmt.close(); conn.close(); }catch (Exception e){ //Your exception handling mechanism goes here. } } }
This code displays the data in the table that you created.
推薦閱讀
- Microsoft SQL Server企業級平臺管理實踐
- Architects of Intelligence
- 計算機信息技術基礎實驗與習題
- 大數據算法
- 數據庫原理與應用(Oracle版)
- Microsoft Power BI數據可視化與數據分析
- R語言數據挖掘
- INSTANT Apple iBooks How-to
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(下冊)
- TextMate How-to
- 數據庫技術及應用
- MySQL技術內幕:SQL編程
- 活用數據:驅動業務的數據分析實戰
- 大數據技術原理與應用:概念、存儲、處理、分析與應用
- SIEMENS數控技術應用工程師:SINUMERIK 840D-810D數控系統功能應用與維修調整教程