jdbc使用DataSource连接mysql,postgresql,oracle的代码

本文详细介绍了如何使用Java通过DataSource连接并操作MySQL、PostgreSQL和Oracle数据库,包括创建表、插入数据及查询数据的操作。

jdbc连接数据库,使用DataSource是推荐的方式

(jdbc驱动是当然要放进classpath里的,官网一般都有下载)

 1 import java.sql.Connection;
 2 import java.sql.ResultSet;
 3 import java.sql.ResultSetMetaData;
 4 import java.sql.SQLException;
 5 import java.sql.Statement;
 6 
 7 import org.postgresql.ds.PGSimpleDataSource;
 8 
 9 import oracle.jdbc.pool.OracleDataSource;
10 
11 import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
12 
13 public class DBConnection {
14 
15     /**
16      * @param args
17      * @throws SQLException
18      */
19     public static void main(String[] args) throws SQLException {
20         // TODO Auto-generated method stub
21         MysqlDataSource mysqlDataSource = new MysqlDataSource();
22         // mysqlDataSource.setPassword("dev");
23         // mysqlDataSource.setUser("dev");
24         mysqlDataSource
25                 .setURL("jdbc:mysql://localhost/forJava?user=dev&password=dev");
26         Connection conn = mysqlDataSource.getConnection();
27         Statement stmt = conn.createStatement();
28         stmt.executeUpdate("create table if not exists web\n" + "(\n"
29                 + "        id int not null primary key,\n" + "        name varchar(100),\n"
30                 + "        created timestamp,\n" + "        content blob\n" + ");\n" + "");
31         for (int i = 0; i < 1; i++) {
32             stmt.executeUpdate("insert into web (name,content) values ('HL','frgertrhrtnthtohioh')");
33         }
34         showResultSet(stmt.executeQuery("select * from web limit 10"));
35 
36         // Driver driver = new com.mysql.jdbc.Driver();
37         // driver.connect("jdbc:mysql://localhost/forJava?user=dev&password=dev",
38         // null);
39 
40         PGSimpleDataSource pgSimpleDataSource = new PGSimpleDataSource();
41         pgSimpleDataSource.setServerName("localhost");
42         pgSimpleDataSource.setDatabaseName("dev");
43         pgSimpleDataSource.setUser("dev");
44         pgSimpleDataSource.setPassword("dev");
45         conn = pgSimpleDataSource.getConnection();
46         // conn =
47         // DriverManager.getConnection("jdbc:postgresql://localhost/test",
48         // "dev", "dev");
49         showResultSet(conn.createStatement().executeQuery("select * from cities"));
50 
51         OracleDataSource oraDataSource = new OracleDataSource();
52         // oraDataSource.setServerName("127.0.0.1");
53         // oraDataSource.setDatabaseName("HR");
54         // oraDataSource.setUser("HR");
55         // oraDataSource.setPassword("HR");
56         oraDataSource.setURL("jdbc:oracle:thin:hr/hr@//localhost:1521/XE");
57         conn = oraDataSource.getConnection();
58         stmt = conn.createStatement();
59         stmt.execute("select * from tab");
60         showResultSet(stmt.getResultSet());
61         stmt.execute("select * from jobs");
62         showResultSet(stmt.getResultSet());
63         stmt.execute("select * from DEPARTMENTS");
64         showResultSet(stmt.getResultSet());
65     }
66 
67     static void showResultSet(ResultSet resultSet) throws SQLException {
68         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
69         int num = resultSetMetaData.getColumnCount();
70         while (resultSet.next()) {
71             for (int i = 1; i <= num; i++) {
72                 System.out.print(resultSetMetaData.getCatalogName(i) + " "
73                         + resultSet.getString(i));
74             }
75             System.out.println();
76         }
77     }
78 }



import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import org.postgresql.ds.PGSimpleDataSource; import oracle.jdbc.pool.OracleDataSource; import com.mysql.jdbc.jdbc2.optional.MysqlDataSource; public class DBConnection { /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { // TODO Auto-generated method stub MysqlDataSource mysqlDataSource = new MysqlDataSource(); // mysqlDataSource.setPassword("dev"); // mysqlDataSource.setUser("dev"); mysqlDataSource .setURL("jdbc:mysql://localhost/forJava?user=dev&password=dev"); Connection conn = mysqlDataSource.getConnection(); Statement stmt = conn.createStatement(); stmt.executeUpdate("create table if not exists web\n" + "(\n" + " id int not null primary key,\n" + " name varchar(100),\n" + " created timestamp,\n" + " content blob\n" + ");\n" + ""); for (int i = 0; i < 1; i++) { stmt.executeUpdate("insert into web (name,content) values ('HL','frgertrhrtnthtohioh')"); } showResultSet(stmt.executeQuery("select * from web limit 10")); // Driver driver = new com.mysql.jdbc.Driver(); // driver.connect("jdbc:mysql://localhost/forJava?user=dev&password=dev", // null); PGSimpleDataSource pgSimpleDataSource = new PGSimpleDataSource(); pgSimpleDataSource.setServerName("localhost"); pgSimpleDataSource.setDatabaseName("dev"); pgSimpleDataSource.setUser("dev"); pgSimpleDataSource.setPassword("dev"); conn = pgSimpleDataSource.getConnection(); // conn = // DriverManager.getConnection("jdbc:postgresql://localhost/test", // "dev", "dev"); showResultSet(conn.createStatement().executeQuery("select * from cities")); OracleDataSource oraDataSource = new OracleDataSource(); // oraDataSource.setServerName("127.0.0.1"); // oraDataSource.setDatabaseName("HR"); // oraDataSource.setUser("HR"); // oraDataSource.setPassword("HR"); oraDataSource.setURL("jdbc:oracle:thin:hr/hr@//localhost:1521/XE"); conn = oraDataSource.getConnection(); stmt = conn.createStatement(); stmt.execute("select * from tab"); showResultSet(stmt.getResultSet()); stmt.execute("select * from jobs"); showResultSet(stmt.getResultSet()); stmt.execute("select * from DEPARTMENTS"); showResultSet(stmt.getResultSet()); } static void showResultSet(ResultSet resultSet) throws SQLException { ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); int num = resultSetMetaData.getColumnCount(); while (resultSet.next()) { for (int i = 1; i <= num; i++) { System.out.print(resultSetMetaData.getCatalogName(i) + " " + resultSet.getString(i)); } System.out.println(); } } }

 


呃,在自己电脑上同时安装了mysql, postgresql,oracle,db2,sqlite的人是不是很蛋疼?

转载于:https://www.cnblogs.com/windydays/archive/2011/11/15/2298101.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值