Advertisement
Guest User

Untitled

a guest
May 25th, 2017
577
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.21 KB | None | 0 0
  1. package biz.tugay.bambum;
  2.  
  3. import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
  4. import org.apache.commons.dbcp2.BasicDataSource;
  5.  
  6. import java.sql.*;
  7.  
  8. /* User: koray@tugay.biz Date: 2017/05/20 */
  9. public class HelloWorld {
  10.  
  11.     private static final String DATB_URL = "jdbc:mysql://localhost:3306/test";
  12.     private static final String USERNAME = "test";
  13.     private static final String PASSWORD = "test";
  14.  
  15.     private static final MysqlDataSource mysqlDataSource = new MysqlDataSource();
  16.     private static final BasicDataSource basicDataSource = new BasicDataSource();
  17.  
  18.     static {
  19.         mysqlDataSource.setURL(DATB_URL);
  20.         mysqlDataSource.setUser(USERNAME);
  21.         mysqlDataSource.setPassword(PASSWORD);
  22.     }
  23.  
  24.     static {
  25.         basicDataSource.setUrl(DATB_URL);
  26.         basicDataSource.setUsername(USERNAME);
  27.         basicDataSource.setPassword(PASSWORD);
  28.     }
  29.  
  30.     public static void main(String[] args) throws SQLException, ClassNotFoundException {
  31.         // Warm up..
  32.         for (int i = 0; i < 1000; i++) {
  33.             useDriverManager();
  34.             useMysqlDataSource();
  35.             useBasicDataSource();
  36.         }
  37.  
  38.         final long driverManagerStart = System.currentTimeMillis();
  39.         for (int i = 0; i < 2000; i++) {
  40.             useDriverManager();
  41.         }
  42.         final long driverManagerEnd = System.currentTimeMillis();
  43.  
  44.         final long dataSourceStart = System.currentTimeMillis();
  45.         for (int i = 0; i < 2000; i++) {
  46.             useMysqlDataSource();
  47.         }
  48.         final long dataSourceEnd = System.currentTimeMillis();
  49.  
  50.         final long basicDataSourceStart = System.currentTimeMillis();
  51.         for (int i = 0; i < 2000; i++) {
  52.             useBasicDataSource();
  53.         }
  54.         final long basicDataSourceEnd = System.currentTimeMillis();
  55.  
  56.  
  57.         System.out.println("DriverManager   : " + (driverManagerEnd - driverManagerStart));
  58.         System.out.println("MysqlDataSource : " + (dataSourceEnd - dataSourceStart));
  59.         System.out.println("BasicDataSource : " + (basicDataSourceEnd - basicDataSourceStart));
  60.     }
  61.  
  62.     private static void useBasicDataSource() throws SQLException {
  63.         final Connection connection = basicDataSource.getConnection();
  64.         queryUsingConnection(connection);
  65.     }
  66.  
  67.     private static void useMysqlDataSource() throws SQLException {
  68.         final Connection connection = mysqlDataSource.getConnection();
  69.         queryUsingConnection(connection);
  70.     }
  71.  
  72.     private static void useDriverManager() throws SQLException {
  73.         final Connection connection = DriverManager.getConnection(DATB_URL, USERNAME, PASSWORD);
  74.         queryUsingConnection(connection);
  75.     }
  76.  
  77.     private static int queryUsingConnection(final Connection connection) throws SQLException {
  78.         final String query = "SELECT COUNT(*) FROM app_user";
  79.         final PreparedStatement preparedStatement = connection.prepareStatement(query);
  80.         final ResultSet resultSet = preparedStatement.executeQuery();
  81.  
  82.         resultSet.next();
  83.         final int anInt = resultSet.getInt(1);
  84.  
  85.         resultSet.close();
  86.         preparedStatement.close();
  87.         connection.close();
  88.  
  89.         return anInt;
  90.     }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement