Mega Code Archive

 
Categories / Java by API / Java Sql
 

Implements SQLData

import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLData; import java.sql.SQLException; import java.sql.SQLInput; import java.sql.SQLOutput; import java.sql.Statement; import java.text.NumberFormat; import java.util.Map; class Employee implements SQLData {   public BigDecimal SSN;   public String FirstName;   public String LastName;   public BigDecimal Salary;   private String sqlUdt;   public void writeSQL(SQLOutput stream) throws SQLException {     stream.writeBigDecimal(SSN);     stream.writeString(FirstName);     stream.writeString(LastName);     stream.writeBigDecimal(Salary);   }   public String getSQLTypeName() throws SQLException {     return sqlUdt;   }   public void readSQL(SQLInput stream, String typeName) throws SQLException {     sqlUdt = typeName;     SSN = stream.readBigDecimal();     FirstName = stream.readString();     LastName = stream.readString();     Salary = stream.readBigDecimal();   }   public String calcMonthlySalary() {     double monthlySalary = Salary.doubleValue() / 12;     NumberFormat nf = NumberFormat.getCurrencyInstance();     String str = nf.format(monthlySalary);     return str;   } } public class Main {   public static void main(String[] args) throws Exception {     Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();     Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@myserver:1521:ORCL", "yourName", "mypwd");     Statement stmt = conn.createStatement();     Map map = conn.getTypeMap();     map.put("EMP_DATA", Class.forName("Employee"));     conn.setTypeMap(map);     ResultSet rs = stmt.executeQuery("SELECT * from Emp");     Employee employee;     while (rs.next()) {       int empId = rs.getInt("EmpId");       employee = (Employee) rs.getObject("Emp_Info");       System.out.print("Employee Id: " + empId + ", SSN: " + employee.SSN);       System.out.print(", Name: " + employee.FirstName + " " + employee.LastName);       System.out.println(", Yearly Salary: $" + employee.Salary + " Monthly Salary: "           + employee.calcMonthlySalary());     }     conn.close();   } }