Skip to main content

JAVA DB Lab 1


DBLAb

1.     You will need MySQL installed on your machine to complete this lab. Go to MySQL.com/downloads → Click the download link under the MySQL community Edition → Download MySQL Community Server → Click on MySQL Installer for Windows (or select the appropriate OS from the drop down list). For windows: https://dev.mysql.com/downloads/windows/installer/8.0.html
2.     Install MySQL
3.     Once installed, open MySQL Workbench. Click on the Local Instance MySQL Router.
4.     Click users and privileges → click Add Account → Give login Name and password, use “localhost” for Limit to Hosts Matching field. → Select Schema Privileges tab → Click Add Entry → select selected schema → select sakila from the drop down list →  click OK Check Select → click Apply.
5.     Create a new project.
6.     Download and add the MySQL Connector/J  https://dev.mysql.com/downloads/connector/j/

7.     Uncompress the zip file and copy mysql-connector-java jar file.
8.     Create a new folder called libs by right clicking the project in the Package Explorer. Paste the jar file in the libs folder.
      In eclipse, right click on the jar file → select Build path → Add build path.
      In Intellij, click File → Project Structure →  button → choose the jar file
9.     Create a connection object using the code below. You may have to do this within a try catch block or Try-with-resources block. Don’t forget to close the connection using a finally block, if you are not using a Try-with-resources block.
      Connection connection = DriverManager.getConnection( "jdbc:mysql://localhost/sakila","dbuser","dbpassword")
10.  Run the program to check if you are able to connect to the database.
11.  Modify the code to read data from a database table and write to the console screen. You’ll need a statement object and a resultset object, use the following code. Again if you are not using Try-with-resources block, don’t forget to close these object once you are done with them. Remember that the resources should be closed in the reverse order starting from resultset, statement and finally the connection.
      Statement statement = connection.createStatement();
      ResultSet resultset = statement.executeQuery("Select * from actor");
12.  We have created a forward only resultset. Therefore we can only navigate in one direction, forward. Use ResultSet::next() method to navigate sequentially from the first record to the last record. Use ResultSet::getString(n) method to get data from each record. Remember column index starts with 1 not 0. Your output should be as follows:
13.  MySQL by default returns a scrollable resultset, however most other databases returns forward only resultset by default. To use a scrollable resultset, you will have to request for one explicitly.
Statement statement = connection.createStatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
14.  Display First record, Last record and 100th record
15.  Modify the code the retrieve 20 records at a time. First display 20 record. When the user press a key retrieve next 20 records and so on.
16.  Getting a filtered result set using preparedStatements. Filter the films that have a lenght of less than 90 mins,
      PreparedStatement statement = connection.prepareStatement( "Select * from film where length < ?", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

17.  Add the code statement.setDouble(1, lenght); where length holds the value entered by the user.
      statement.setDouble(1, new Scanner(System.in).nextDouble());
      resultSet = statement.executeQuery();
18.  Your output should be as shown below:









Comments

Popular posts from this blog

CUMIPMT and CUMPRINC function

CUMIPMT Cumulative interest payment function allows you to calculate the interest paid for a loan or from an investment from period A to period B. When getting a loan, CUMIPMT function can be used to calculate the total amount of interest paid in the first five months or from period 12 to period 20. A period can be a month, a week or two week. Loan Amount : 350,000.00 APR: 4.5% Down payment: 0.00 Years: 25 Payment per year: 12 From the above data, we can calculate the following: No of Period: 25 × 12 = 300 Periodic Rate: 4.5/12 = 0.375% Here is how you will substitute these values into the function. = CUMIPMT (periodic rate, No of period, vehicle price, start period, end period,  ) = CUMIPMT (0.375, 300, 350000, 1, 5, 0) In an excel worksheet, we use cell address instead of actual values as shown below: Here is the formula view of the worksheet: CUMPRINC Another related function is CUMPRINC. CUMPRINC function is used to calculate cumul

Excel PMT Function

PMT function is very useful for calculating monthly payment required to payback a loan or mortgage at a fixed rate. This function require a minimum of three inputs, periodic rate, number of periods, present value or the loan amount. Here is a simple example. Home Loan: 350,000.00 Interest rate: 4.5% Number of years to repay the loan: 25 Note: To calculate monthly payment, we need to find the monthly rate and number of months as shown above. Then it is simply a matter of substituting the values into the payment function, as shown in the formula view below.

BCG's Brand Advocacy Index

The Boston Consulting Group's (BCG) Brand Advocacy Index (BAI) is a metric developed to help companies measure the degree of customer advocacy for their brands. BAI focuses on the likelihood of customers to recommend a brand to others, which is a powerful indicator of brand strength and customer loyalty. Unlike other customer satisfaction or loyalty metrics, BAI emphasizes the importance of customer referrals and word-of-mouth marketing. BAI is calculated based on a survey where customers are asked about their willingness to recommend a brand to their friends, family, or colleagues. The responses are then used to compute a score, which ranges from -100 to 100. A higher BAI score indicates that a brand has more advocates who are likely to recommend the brand to others, while a lower score suggests that the brand has fewer advocates or even a higher number of detractors. BCG's research has shown that companies with higher BAI scores tend to experience higher growth rates and bett