jdbc 0.1.0

Rust bindings to the Java Jdbc.
Documentation
#[macro_use]
extern crate lazy_static;
mod util;

#[test]
fn test() -> Result<(), jdbc::errors::Error> {
    let ds = util::sqlite();
    let conn = ds.get_connection()?;

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_short(1, i16::MAX)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_short(1)?, Some(i16::MAX));
    assert_eq!(result.get_short_by_label("value")?, Some(i16::MAX));

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_int(1, i32::MAX)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_int(1)?, Some(i32::MAX));
    assert_eq!(result.get_int_by_label("value")?, Some(i32::MAX));

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_long(1, i64::MAX)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_long(1)?, Some(i64::MAX));
    assert_eq!(result.get_long_by_label("value")?, Some(i64::MAX));

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_float(1, f32::MAX)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_float(1)?, Some(f32::MAX));
    assert_eq!(result.get_float_by_label("value")?, Some(f32::MAX));

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_double(1, f64::MAX)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_double(1)?, Some(f64::MAX));
    assert_eq!(result.get_double_by_label("value")?, Some(f64::MAX));

    let statement = conn
        .prepare_statement("select ? as value")?
        .set_boolean(1, true)?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_boolean(1)?, Some(true));
    assert_eq!(result.get_boolean_by_label("value")?, Some(true));

    Ok(())
}

#[test]
fn test_null() -> Result<(), jdbc::errors::Error> {
    let ds = util::sqlite();
    let conn = ds.get_connection()?;

    let statement = conn.prepare_statement("select NULL")?;
    let result = statement.execute_query()?;
    assert_eq!(result.next()?, true);
    assert_eq!(result.get_short(1)?, None);
    assert_eq!(result.get_int(1)?, None);
    assert_eq!(result.get_long(1)?, None);
    assert_eq!(result.get_float(1)?, None);
    assert_eq!(result.get_double(1)?, None);
    assert_eq!(result.get_boolean(1)?, None);
    assert_eq!(result.was_null()?, true);
    Ok(())
}