Hi, Recently I worked on implementation of java jdbc driver for cassandra using CQL. Given below is an example code base(with basic features) about how to use it:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class Cass { public static void main(String[] args) { java.sql.Connection con =null; try { String selectQ = "SELECT \"first\", \"last\" FROM Users WHERE KEY=\"jsmith\""; Class.forName("com.impetus.jdbc.cassandra.api.CassandraDriver"); // con = DriverManager.getConnection("jdbc:cassandra:localhost@9160"); con = DriverManager.getConnection("jdbc:cassandra:root/root@localhost:9160/root1"); //With Statement scrollResultset(withStatement(con)); //With PreparedStatement. scrollResultset(withPreparedStatement(con, selectQ)); //Update/INSERT withUpdateStatement(con); String updateSelect = "SELECT \"firstN\", \"lastN\" FROM Users WHERE KEY=\"jsmith\""; scrollResultset(withPreparedStatement(con,updateSelect)); //Delete withDeleteStatement(con); scrollResultset(withPreparedStatement(con,updateSelect)); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally{ if(con !=null) { try { con.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } con = null; } } } /** * * @param con * @return * @throws SQLException */ private static ResultSet withStatement(Connection con) throws SQLException{ // String useQ = "USE Keyspace1"; String selectQ = "SELECT \"first\", \"last\" FROM Users WHERE KEY=\"jsmith\""; Statement stmt = con.createStatement(); // stmt.execute(useQ); return stmt.executeQuery(selectQ); } /** * * @param con * @return * @throws SQLException */ private static ResultSet withPreparedStatement(Connection con, String selectQ) throws SQLException{ // String useQ = "USE Keyspace1"; // PreparedStatement statement = con.prepareStatement(useQ); // statement.execute(); PreparedStatement statement = con.prepareStatement(selectQ); return statement.executeQuery(); } /** * * @param rSet * @throws SQLException */ private static void scrollResultset(ResultSet rSet) throws SQLException { while(rSet.next()){ System.out.println(rSet.getString(0)); System.out.println(rSet.getString("last")); System.out.println(rSet.getString("lastN")); } } private static void withUpdateStatement(Connection con) throws SQLException { String updateQ = "UPDATE Users SET \"firstN\" = \"vivekn\", \"lastN\" = \"mishran\" WHERE KEY = \"jsmith\""; PreparedStatement statement = con.prepareStatement(updateQ); statement.execute(); } private static void withDeleteStatement(Connection con) throws SQLException { String deleteQ = "DELETE \"firstN\", \"lastN\" FROM Users WHERE KEY=\"jsmith\""; PreparedStatement statement = con.prepareStatement(deleteQ); statement.execute(); } } I am not sure if there is any JIRA related to this. With such basic things I have this in place.(A lot of work needs to be done on this.) Please let me know, if I can add this project in relation with any Cassandra JIRA, else planning to open source it on google code. Vivek ________________________________ Impetus to Present Big Data -- Analytics Solutions and Strategies at O'Reilly Strata Conference (Feb 1-3) in Santa Clara, CA. Our Big Data technology evangelist to speak on 'Deriving Intelligence From Large Data - Using Hadoop and Applying Analytics'. Impetus to organize and host CloudCamp, Delhi on Feb 12. CloudCamp is an unconference where early adopters of Cloud Computing technologies exchange ideas. Click http://www.impetus.com to know more. NOTE: This message may contain information that is confidential, proprietary, privileged or otherwise protected by law. The message is intended solely for the named addressee. If received in error, please destroy and notify the sender. Any use of this email is prohibited when received in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.