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:
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.
|