JDBC中5种常见数据库连接

jopen 10年前

JDBC Connection的获取,主要介绍:开发中常用的5种数据库的连接获取,Sqlserver、PostgreSQL、MySQL、Oracle、SQLite 开发过程中JDBC虽然不是必须的,但是这种基础知识必须烂熟于心。

JDBC在开发中很少直接使用(持久化层有许多杰出的框架,如:Hibernate、mybatis...),但这又是Java程序员必须清楚的基础知识,下面是一些知识的基类,方便以后复习时使用。

Java对数据库的操作主要以下几步

1)加载驱动,获取数据库连接

2)开启事务

3)创建语句

4)批量执行操作或执行查询获取结果集,处理结果

5)提交事务

6)关闭连接


第一步:加载驱动类,获取数据库连接,条件是要有对应的第三方jar包

1)、Sqlserver ,需要 sqljdbc4.jar

try {     String username = "sa"; // 用户名     String password = "123"; // 密码     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");// 加载驱动类     con = DriverManager.getConnection("jdbc:sqlserver://192.168.4.116:1433;DatabaseName=UniMonDB",username,password);// 获取连接    } catch (ClassNotFoundException e) {     e.printStackTrace();    } catch (SQLException e) {     e.printStackTrace();    }

2)MySQL ,需要mysql-connector-java-5.1.6-bin.jar

try {     String username = "sa";     // 用户名     String password = "123456";     // 密码     Class.forName("com.mysql.jdbc.Driver");// 加载驱动类     Connection con = DriverManager       .getConnection(         "jdbc:mysql://192.168.4.116:55555/emm_manager",         username, password);// 获取连接     System.out.println(con);     con.close();    } catch (ClassNotFoundException e) {     e.printStackTrace();    } catch (SQLException e) {     e.printStackTrace();    }

3)PostgreSQL,需要 postgresql-9.0-801.jdbc3.jar

try {     String username = "sa";     // 用户名     String password = "123456";     // 密码     Class.forName("org.postgresql.Driver");// 加载驱动类     Connection con = DriverManager       .getConnection(         "jdbc:postgresql://192.168.4.10:5432/UniMonDB",         username, password);// 获取连接     System.out.println(con);     con.close();    } catch (ClassNotFoundException e) {     e.printStackTrace();    } catch (SQLException e) {     e.printStackTrace();    }

4)Oracle , 需要ojdbc14.jar

try {     String username = "sa";     // 用户名     String password = "123456";     // 密码     Class.forName("oracle.jdbc.driver.OracleDriver");     Connection con = DriverManager.getConnection(         "jdbc:oracle:thin:@192.168.0.39:1521:TARENADB",         username, password);// 获取连接     System.out.println(con);     con.close();    } catch (ClassNotFoundException e) {     e.printStackTrace();    } catch (SQLException e) {     e.printStackTrace();    }

5)SQLite , 需要 sqlitejdbc-v033-nested.jar

try {     Class.forName("org.sqlite.JDBC"); // 加载驱动     Connection con = DriverManager.getConnection(       "jdbc:sqlite://d:/sqlite/learnsqlite.db");// 获取连接     System.out.println(con);     con.close();    } catch (ClassNotFoundException e) {     e.printStackTrace();    } catch (SQLException e) {     e.printStackTrace();    }

第二步:设置事务提交

con.setAutoCommit(false);  //.................数据库操作(增删改)  con.commit();

来自:http://my.oschina.net/u/1989321/blog/355124