Coding Interview on Database - JDBC (java.sql) - One
 
Connecting to a Database
This example uses the JDBC-ODBC bridge to connect to a database called ''mydatabase''.
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

String url = "jdbc:odbc:mydatabase"; 

Connection con = DriverManager.getConnection( 

url, "login""password"); 

} catch (ClassNotFoundException e) { 

} catch (SQLException e) { 

Creating a Table

This example creates a table called ''mytable'' with three columns: COL_A which holds strings, COL_B which holds integers, and COL_C which holds floating point numbers. 

try { 

Statement stmt = con.createStatement(); 

stmt.executeUpdate("CREATE TABLE mytable (

COL_A VARCHAR(100), COL_B INTEGER, COL_C FLOAT)"); 

} catch (SQLException e) { 

Entering a New Row into a Table

This example enters a row containing a string, an integer, and a floating point number into the table called ''mytable''. 

try { 

Statement stmt = connection.createStatement(); 

stmt.executeUpdate("INSERT INTO mytable

VALUES ('Patrick Chan', 123, 1.23)"); 

connection.close(); 

} catch (SQLException e) { 

Getting All Rows from a Table

This example retrieves all the rows from a table called ''mytable''. A row in ''mytable'' consists of a string, integer, and floating point number. 

try { 

Statement stmt = connection.createStatement(); 

// Get data using colunm names. 

ResultSet rs = stmt.executeQuery( 

"SELECT * FROM mytable"); 

while (rs.next()) { 

String s = rs.getString("COL_A"); 

int i = rs.getInt("COL_B"); 

float f = rs.getFloat("COL_C"); 

process(s, i, f); 

// Get data using colunm numbers. 

rs = stmt.executeQuery( 

"SELECT * FROM mytable"); 

while (rs.next()) { 

String s = rs.getString(1); 

int i = rs.getInt(2); 

float f = rs.getFloat(3); 

process(s, i, f); 

} catch (SQLException e) { 

Getting Particular Rows from a Table

This example retrieves all rows from a table called ''mytable'' whose column COL_A equals ``Patrick Chan''. A row in ''mytable'' consists of a string, integer, and floating point number. 

try { 

Statement stmt = connection.createStatement(); 

ResultSet rs = stmt.executeQuery( 

"SELECT * FROM mytable WHERE COL_A = 'Patrick Chan'"); 

rs.next(); 

String s = rs.getString("COL_A"); 

int i = rs.getInt("COL_B"); 

float f = rs.getFloat("COL_C"); 

process(s, i, f); 

} catch (SQLException e) { 

Updating a Row of Data in a Table

This example updates a row in a table called ``mytable''. In particular, for all rows whose column COL_B equals 123, column COL_A is set to ''John Doe''. 

try { 

Statement stmt = connection.createStatement(); 

int numUpdated = stmt.executeUpdate( 

"UPDATE mytable SET COL_A = 'John Doe'

WHERE COL_B = 123"); 

connection.close(); 

} catch (SQLException e) { 

Using a Prepared Statement

A prepared statement should be used in cases where a particular SQL statement is used frequently. The prepared statement is more expensive to set up but executes faster than a statement. This example demonstrates a prepared statement for getting all rows from a table called ''mytable'' whose column COL_A equals ''Patrick Chan''. This example also demonstrates a prepared statement for updating data in the table. In particular, for all rows whose column COL_B equals 123, column COL_A is set to ''John Doe''. 

try { 

// Retrieving rows from the database. 

PreparedStatement stmt = connection.prepareStatement( 

"SELECT * FROM mytable WHERE COL_A = ?"); 

int colunm = 1; 

stmt.setString(colunm, "Patrick Chan"); 

ResultSet rs = stmt.executeQuery(); 

// Updating the database. 

stmt = connection.prepareStatement( 

"UPDATE mytable SET COL_A = ? WHERE COL_B = ?"); 

colunm = 1; 

stmt.setString(colunm, "John Doe"); 

colunm = 2; 

stmt.setInt(colunm, 123); 

int numUpdated = stmt.executeUpdate(); 

} catch (SQLException e) { 

Examplets TM provided by permission of the publisher, Addision-Wesley, and Author Patrick Chan.

Handling Events with an Anonymous Class

If an event handler is specific to a component (that is, not shared by other components), there is no need to declare a class to handle the event. The event handler can be implemented using an anonymous inner class. This example demonstrates an anonymous inner class to handle key events for a component. 

component.addKeyListener(new KeyAdapter() { 

public void keyPressed(KeyEvent evt) { 

}); 

Handling Action Events

Action events are fired by subclasses of AbstractButton and includes buttons, checkboxes, and menus. 

AbstractButton button = new JButton(quot;OK"); 

button.addActionListener(new MyActionListener()); 

public class MyActionListener 

implements ActionListener { 

public void actionPerformed(ActionEvent evt) { 

// Determine which abstract 

// button fired the event. 

AbstractButton button = 

(AbstractButton)evt.getSource(); 

Handling Key Presses

You can get the key that was pressed either as a key character (which is a Unicode character) or as a key code (a special value representing a particular key on the keyboard). 

component.addKeyListener(new MyKeyListener()); 

public class MyKeyListener extends KeyAdapter { 

public void keyPressed(KeyEvent evt) { 

// Check for key characters. 

if (evt.getKeyChar() == 'a') { 

process(evt.getKeyChar()); 

// Check for key codes. 

if (evt.getKeyCode() == KeyEvent.VK_HOME) { 

process(evt.getKeyCode()); 

Handling Mouse Clicks

component.addMouseListener( 

new MyMouseListener()); 

public class MyMouseListener 

extends MouseAdapter { 

public void mouseClicked(MouseEvent evt) { 

if ((evt.getModifiers() & 

InputEvent.BUTTON1_MASK) != 0) { 

processLeft(evt.getPoint()); 

if ((evt.getModifiers() & 

InputEvent.BUTTON2_MASK) != 0) { 

processMiddle(evt.getPoint()); 

if ((evt.getModifiers() & 

InputEvent.BUTTON3_MASK) != 0) { 

processRight(evt.getPoint()); 

Handling Mouse Motion

component.addMouseMotionListener( 

new MyMouseMotionListener()); 

public class MyMouseMotionListener 

extends MouseMotionAdapter { 

public void mouseMoved(MouseEvent evt) { 

// Process current position of cursor 

// while all mouse buttons are up. 

process(evt.getPoint()); 

public void mouseDragged(MouseEvent evt) { 

// Process current position of cursor 

// while mouse button is pressed. 

process(evt.getPoint()); 

Detecting Double and Triple Clicks

component.addMouseListener( 

new MyMouseListener()); 

public class MyMouseListener extends MouseAdapter { 

public void mouseClicked(MouseEvent evt) { 

if (evt.getClickCount() == 3) { 

// triple-click 

} else if (evt.getClickCount() == 2) { 

// double-click 

}

Handling Focus Changes

component.addFocusListener( 

new MyFocusListener()); 

public class MyFocusListener 

extends FocusAdapter { 

public void focusGained(FocusEvent evt) { 

// The component gained the focus. 

public void focusLost(FocusEvent evt) { 

// The component lost the focus. 

}

Files, Streams, I/O (java.io)








Constructing a Path

On Windows, this example creates the path \blash a\blash b. On Unix, the path would be /a/b. 

String path = File.separator + 

"a" + File.separator + "b"

Reading Text from Standard Input

try { 

BufferedReader in = new BufferedReader( 

new InputStreamReader(System.in)); 

String str = ""; 

while (str != null) { 

System.out.print("> prompt "); 

str = in.readLine(); 

process(str); 

} catch (IOException e) { 

Reading Text from a File

try { 

BufferedReader in = new BufferedReader( 

new FileReader("infilename")); 

String str; 

while ((str = in.readLine()) != null) { 

process(str); 

in.close(); 

} catch (IOException e) { 

Writing to a File

If the file does not already exist, it is automatically created. 

try { 

BufferedWriter out = new BufferedWriter( 

new FileWriter("outfilename")); 

out.write("aString"); 

out.close(); 

} catch (IOException e) { 

Creating a Directory

(new File("directoryName")).mkdir(); 

Appending to a File

try { 

BufferedWriter out = new BufferedWriter( 

new FileWriter("filename", true)); 

out.write("aString"); 

out.close(); 

} catch (IOException e) { 

Deleting a File

(new File("filename")).delete(); 

Deleting a Directory

(new File("directoryName")).delete(); 

Creating a Temporary File

try { 

// Create temp file. 

File temp = File.createTempFile( 

"pattern"".suffix"); 

// Delete temp file when program exits. 

temp.deleteOnExit(); 

// Write to temp file 

BufferedWriter out = new BufferedWriter( 

new FileWriter(temp)); 

out.write("aString"); 

out.close(); 

} catch (IOException e) { 

Using a Random Access File

try { 

File f = new File("filename"); 

RandomAccessFile raf = 

new RandomAccessFile(f, "rw"); 

// Read a character. 

char ch = raf.readChar(); 

// Seek to end of file. 

raf.seek(f.length()); 

// Append to the end. 

raf.writeChars("aString"); 

raf.close(); 

} catch (IOException e) { 

Serializing an Object

The object to be serialized must implement java.io.Serializable. 

try { 

ObjectOutput out = new ObjectOutputStream( 

new FileOutputStream("filename.ser")); 

out.writeObject(object); 

out.close(); 

} catch (IOException e) { 

Deserializing an Object

This example deserializes a java.awt.Button object. 

try { 

ObjectInputStream in = new ObjectInputStream( 

new FileInputStream("filename.ser")); 

AnObject object = (AnObject) in.readObject(); 

in.close(); 

} catch (ClassNotFoundException e) { 

} catch (IOException e) { 

Traversing a Directory

public static void traverse(File f) { 

process(f); 

if (f.isDirectory()) { 

String[] children = f.list(); 

for (int i=0; i<children.length; i++) { 

traverse(new File(f, children[i])); 

Reading UTF-8 Encoded Data

try { 

BufferedReader in = new BufferedReader( 

new InputStreamReader(new FileInputStream( 

"infilename"), "UTF8")); 

String str = in.readLine(); 

} catch (UnsupportedEncodingException e) { 

} catch (IOException e) { 

Writing UTF-8 Encoded Data

try { 

Writer out = new BufferedWriter( 

new OutputStreamWriter(new FileOutputStream( 

"outfilename"), "UTF8")); 

out.write(aString); 

out.close(); 

} catch (UnsupportedEncodingException e) { 

} catch (IOException e) { 

Reading ISO Latin-1 Encoded Data

try { 

BufferedReader in = new BufferedReader( 

new InputStreamReader(new FileInputStream( 

"infilename"), "8859_1")); 

String str = in.readLine(); 

} catch (UnsupportedEncodingException e) { 

} catch (IOException e) { 

Writing ISO Latin-1 Encoded Data

try { 

Writer out = new BufferedWriter( 

new OutputStreamWriter(new FileOutputStream( 

"outfilename"), "8859_1")); 

out.write(aString); 

out.close(); 

} catch (UnsupportedEncodingException e) { 

} catch (IOException e) { 

}

Networking (java.net)

Creating a URL

try { 

// With components. 

URL url = new URL("http","hostname"80"index.html"); 

// With a single string. 

url = new URL(

"http://hostname:80/index.html"); 

} catch (MalformedURLException e) { 

Parsing a URL

try { 

URL url = new URL("http://hostname:80/index.html#_top_"); 

String protocol = url.getProtocol();// http 

String host = url.getHost();// hostname 

int port = url.getPort();// 80 

String file = url.getFile(); // index.html 

String ref = url.getRef();// _top_ 

} catch (MalformedURLException e) { 

Reading Text from a URL

try { 

URL url = new URL("http://hostname:80/index.html"); 

BufferedReader in = new BufferedReader( 

new InputStreamReader(url.openStream())); 

String str; 

while ((str = in.readLine()) != null) { 

process(str); 

in.close(); 

} catch (MalformedURLException e) { 

} catch (IOException e) { 

Resolving a Hostname 

Creating a Client Socket

try { 

InetAddress addr = InetAddress.getByName("java.sun.com");

int port = 80;

Socket sock = new Socket(addr, port);

} catch (IOException e) {

}

Creating a Server Socket

try { 

int port = 2000;

ServerSocket srv = new ServerSocket(port);

// Wait for connection from client.

Socket socket = srv.accept();

} catch (IOException e) {

}

Reading Text from a Socket

try { 

BufferedReader rd = new BufferedReader( 

new InputStreamReader(socket.getInputStream()));

String str;

while ((str = rd.readLine()) != null) {

process(str);

}

rd.close();

} catch (IOException e) {

}


Related:

Have Java Problem
Ask It in The Java Forum

Java Books
Java Certification, Programming, JavaBean and Object Oriented Reference Books

Return to : Java Programming Hints and Tips

All the site contents are Copyright © www.erpgreat.com and the content authors. All rights reserved.
All product names are trademarks of their respective companies.
The site www.erpgreat.com is not affiliated with or endorsed by any company listed at this site.
Every effort is made to ensure the content integrity.  Information used on this site is at your own risk.
 The content on this site may not be reproduced or redistributed without the express written permission of
www.erpgreat.com or the content authors.