本例以JDBC 和 MY SQL DataBase为基础,演示执行SQL来查询数据,使用Statement和Prepared Statement两种方式。
一,示例代码
连接数据库uilt:
MySqlJDBSUtil.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package com.devnp.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class MySqlJDBSUtil { private static String driver = "com.mysql.jdbc.Driver" ; private static String url = "jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8" ; private static String userName = "root" ; private static String password = "!qaz2wsx" ; public static Connection getConnection () { Connection connection = null ; try { Class.forName(driver); connection = DriverManager.getConnection(url, userName, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return connection; } public static void connectionClose (Connection connection) { if (connection != null ) { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
查询代码:JDBCSelectRecord.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 package com.devnp.jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Date;public class JDBCSelectRecord { public static void main (String[] args) throws SQLException { selectDbTableWithStatement(); selectDbTableWithPreparedStatement(); } public static void selectDbTableWithStatement () throws SQLException { Connection dbConnection = null ; Statement statement = null ; String selectTableSQL = "SELECT USER_ID, USERNAME, CREATED_BY, CREATED_DATE from USER_INFO" ; try { dbConnection = MySqlJDBSUtil.getConnection(); statement = dbConnection.createStatement(); System.out.println(selectTableSQL); ResultSet rs = statement.executeQuery(selectTableSQL); while (rs.next()) { String userid = rs.getString("USER_ID" ); String username = rs.getString("USERNAME" ); String createBy = rs.getString("CREATED_BY" ); Date createDate = rs.getDate("CREATED_DATE" ); System.out.println("userid : " + userid); System.out.println("username : " + username); System.out.println("Create By : " + createBy); System.out.println("Create Date : " + createDate); } } catch (SQLException e) { e.printStackTrace(); } finally { if (statement != null ) { statement.close(); } if (dbConnection != null ) { dbConnection.close(); } } } public static void selectDbTableWithPreparedStatement () throws SQLException { Connection dbConnection = null ; PreparedStatement preparedStatement = null ; String selectSQL = "SELECT USER_ID, USERNAME, CREATED_BY, CREATED_DATE from USER_INFO WHERE USER_ID = ?" ; try { dbConnection = MySqlJDBSUtil.getConnection(); preparedStatement = dbConnection.prepareStatement(selectSQL); preparedStatement.setInt(1 , 1 ); ResultSet rs = preparedStatement.executeQuery(); while (rs.next()) { String userid = rs.getString("USER_ID" ); String username = rs.getString("USERNAME" ); String createBy = rs.getString("CREATED_BY" ); Date createDate = rs.getDate("CREATED_DATE" ); System.out.println("userid : " + userid); System.out.println("username : " + username); System.out.println("Create By : " + createBy); System.out.println("Create Date : " + createDate); } } catch (SQLException e) { e.printStackTrace(); } finally { if (preparedStatement != null ) { preparedStatement.close(); } if (dbConnection != null ) { dbConnection.close(); } } } }
二,测试
运行结果:
SELECT USER_ID, USERNAME, CREATED_BY, CREATED_DATE from USER_INFO
userid : 1
username : devnp.com
Create By : system
Create Date : 2017-03-29
userid : 2
username : devnp.com
Create By : system
Create Date : 2017-03-29
userid : 1
username : devnp.com
Create By : system
Create Date : 2017-03-29
数据库截图:
Author:
Darren Du
License:
Copyright (c) 2019 MIT LICENSE