Giter Club home page Giter Club logo

rust-jdbc's Introduction

jdbc

A Rust library that allows you to use JDBC and JDBC drivers.

Usage

First, add the following to your Cargo.toml:

[dependencies]
jdbc = "0.1"

Next, add this to your crate root:

extern crate jdbc;

Then you can in your main function do something like this:

let jvm_options = ["-Djava.class.path=./jars/postgresql-42.1.1.jar", "-Xcheck:jni"];
let _ = unsafe { jvm::JVM::from_options(&jvm_options) };

let url = "jdbc:postgresql://localhost/test";

let connection = DriverManager::get_connection(url).unwrap();
let statement = connection.create_statement().unwrap();
let result_set = statement.execute_query("SELECT * FROM customers").unwrap();
let metadata = result_set.get_meta_data().unwrap();
let columns = metadata.get_column_count().unwrap();

while result_set.next().unwrap() {
  print!("row:");
  for i in 1 .. columns + 1 {
    print!(" {:?}", result_set.get_string(i).unwrap());
  }
  println!("");
}

What is jdbc?

The primary purpose of this crate is to allow you to use Java JDBC database drivers from Rust in a convenient way with a relatively safe interface. It does this via embedding a JVM in your process so be aware that if you use JNI in some other way in your app you will need to tell jdbc to play nice.

Platforms

I am testing on my Mac, but I would love to setup some CI to get this party started.

Contributing

Patches are welcome, don't forget to add yourself to the Authors list.

Authors

rust-jdbc's People

Contributors

rawrafox avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.