java 连接 SQLServer/MySQL/Oracle 的小例子

SQLServer 的:

 

  1. package bzc.terry.database.sqlsver;
  2. /*
  3.  *简单的与数据库连接的程序
  4.  */
  5. import java.sql.*;
  6. public class DBConnectionModel {
  7.     /**
  8.      *此主方法中演示了与数据库建立连接并实现相关操作的步骤:
  9.      *1、forName方法加载数据库驱动程序;
  10.      *2、DriverManager的getConnection方法与数据库建立连接,并返回Connection接口的子类对象赋给conn;
  11.      *3、conn对象调用createStatement方法,返回Statement的对象赋给stmt,
  12.      *   通过此对象调用相应的方法实现对数据库的查询、修改等操作;
  13.      *4、用ResuitSet的对象作为容器存放从数据库读取的记录并print将记录最终输出。
  14.      */
  15.     public static void main(String[] args) {
  16.         Connection conn = null;
  17.         Statement stmt = null;
  18.         ResultSet rs= null;
  19.         
  20.         try {
  21.             //装载驱动,以使系统识别此数据库
  22.             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  23.         } catch(ClassNotFoundException e) {
  24.             System.out.println("Can't load driver!");
  25.             System.exit(-1);
  26.         }        
  27.         
  28.         try {
  29.             String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName = ManageMessage";
  30.             String user = "sa";//数据库登陆名
  31.             String password = "123";//数据库登陆密码
  32.             
  33.             //与装载并注册(即 register,在装载时自动完成)的数据库建立连接
  34.             conn = DriverManager.getConnection(url, user, password);
  35.             //创建 Statement 对象,以向数据库发送SQL语句
  36.             stmt = conn.createStatement();
  37.             String sql = "select * from message";
  38.             rs = stmt.executeQuery(sql); //用一ResultSet对象来SQL语句查询的结果集
  39.             //输出查询结果
  40.             while(rs.next()) {
  41.                 System.out.print(rs.getInt("messID"));
  42.                 System.out.print("-->" + rs.getString("messName"));
  43.                 System.out.print("-->" + rs.getString("title"));
  44.                 System.out.println("-->" + rs.getString("content"));
  45.             }
  46.         } catch(SQLException e) {
  47.             System.out.println(e);
  48.         } finally {//关闭连接
  49.             try{
  50.                 if(rs != null) {
  51.                     rs.close();
  52.                     rs = null;
  53.                 }
  54.                 if(stmt != null) {
  55.                     stmt.close();
  56.                     stmt = null;
  57.                 }
  58.                 if(conn != null) {
  59.                     conn.close();
  60.                     conn = null;
  61.                 }
  62.             } catch(SQLException e) {
  63.                 e.printStackTrace();
  64.             }
  65.         }
  66.     }
  67. }

 

MySQL 的:

 

  1. package bzc.terry.database.mysql;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.SQLException;
  5. /**
  6.  * 
  7.  * 
  8.  * @author Terry
  9.  * 
  10.  */
  11. public class ConnMySqlDb {
  12.     private Connection conn = null// 用于取得数据库连接的对象
  13.     private static String URL = "jdbc:mysql://localhost"; // 要连接的数据库 url
  14.     private static String DATA = "mydata"// 要访问的数据库
  15.     private static String USER = "root"// 登录数据库的用户名
  16.     private static String PASSWORD = "root"// 登录数据库的密码
  17.     // 取得数据库的连接
  18.     public Connection getConnection() {
  19.         
  20.         try {
  21.             // 加ame("com.mysql.jdbc.Driver");
  22.             载数据库驱动
  23.             Class.forN
  24.             // 取得数据库连接
  25.             conn = DriverManager.getConnection(
  26.                     URL + "/" + DATA + "?user=" + USER + "&password=" + PASSWORD);
  27.             
  28.             System.out.println("Database has been connected...");
  29.         } catch (ClassNotFoundException ex) {
  30.             System.err.println("加载数据库驱动发生异常!");
  31.             // 打印错误详细信息
  32.             ex.printStackTrace();
  33.         }  catch (SQLException e) {
  34.             System.err.println("取得数据库连接发生异常!");
  35.             // 
  36.             e.printStackTrace();
  37.         }
  38.         
  39.         // 返回数据库连接
  40.         return conn; 
  41.     }
  42. }

测试 MySQL 的类:

  1. package bzc.terry.database.mysql;
  2. import java.sql.Connection;
  3. import java.sql.ResultSet;
  4. import java.sql.SQLException;
  5. import java.sql.Statement;
  6. /**
  7.  * 一个简单的测试类
  8.  * 
  9.  * @author Terry
  10.  *
  11.  */
  12. public class Test {
  13.     //
  14.     private static Connection conn = null;
  15.     
  16.     /**
  17.      * 查询指定表中的所有信息,并打印结果
  18.      */
  19.     private static void findAll() {
  20.         Statement stmt = null;
  21.         ResultSet rs = null;
  22.         String sql = "SELECT * FROM dept";
  23.         //
  24.         try {
  25.             stmt = conn.createStatement();
  26.             // 通过 sql 语句查新数据库中表
  27.             // 返回相关结果集
  28.             rs = stmt.executeQuery(sql);
  29.             
  30.             // 变量结果集
  31.             while(rs.next()) {
  32.                 // 打印查询到的信息
  33.                 System.out.print("~ 部门号:" + rs.getInt("deptno"));
  34.                 System.out.print(" 部门名:" + rs.getString("dname"));
  35.                 System.out.println(" 部门位置:" + rs.getString("loc"));
  36.             }
  37.         } catch (SQLException e) {
  38.             e.printStackTrace();
  39.         } finally {// 关闭流和数据库连接
  40.             try{
  41.                 if(rs != null) {
  42.                     rs.close();
  43.                     rs = null;
  44.                 }
  45.                 if(stmt != null) {
  46.                     stmt.close();
  47.                     stmt = null;
  48.                 }
  49.                 if(conn != null){
  50.                     conn.close();
  51.                     conn = null;
  52.                     System.out.println("Database has been closed...");
  53.                 }
  54.             } catch(SQLException e) {
  55.                 e.printStackTrace();
  56.             }
  57.         }
  58.     }
  59.     
  60.     /**
  61.      * 
  62.      * 测试方法
  63.      */
  64.     public static void main(String[] args) {
  65.         // 取得数据库连接
  66.         conn = new ConnMySqlDb().getConnection();
  67.         
  68.         // 查询某个表的所有记录
  69.         findAll();
  70.     }
  71. }

Oracle 的:

  1. package bzc.terry.database.oracl;
  2. import java.sql.*;
  3. /**
  4.  * 一个简单的完成连接 Oracle 数据库的例子
  5.  * @author xIao_qiAng
  6.  *
  7.  */
  8. public class ConnOracleDb {
  9.     private final String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;//驱动程序
  10.     private final String DBURL = "jdbc:oracle:thin:@localhost:1521:TEST" ;//数据库地址
  11.     private final String DBUSER = "scott" ;     //数据库登录用户名
  12.     private final String DBPASSWORD = "tiger" ; //数据库登录密码
  13.     private Connection conn = null;
  14.     
  15.     /**
  16.      * 完成对数据库的连接
  17.      */
  18.     public ConnOracleDb() {
  19.         try {
  20.             //加载数据库驱动程序
  21.             Class.forName(DBDRIVER);
  22.         } catch(Exception e) {
  23.             System.out.println("Can't load dbdriver!-->" + e.getMessage());
  24.         }
  25.         
  26.         try {
  27.             //连接到指定的数据库
  28.             conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD) ;
  29.         } catch(Exception e) {
  30.             System.out.println("Can't connect to the database!-->" + e.getMessage()) ;
  31.         }
  32.     }
  33.     
  34.     /**
  35.      * 用来使其它类调用取得数据库连接
  36.      * @return 数据库连接对象
  37.      */
  38.     public Connection getConnection() {
  39.         return this.conn;
  40.     }
  41. }

 

测试 Oracle 的类:

 

 

  1. package bzc.terry.database.oracl;
  2. import java.sql.*;
  3. public class TestConn {
  4.     public static void main(String[] args) {
  5.         //Connection conn = new ConnOracleDb().getConnection() ;
  6.         
  7.         //System.out.println("取得数据库连接!-->" + conn) ;
  8.         Connection conn = null ;
  9.         PreparedStatement pstmt = null ;
  10.         ResultSet rs = null ;
  11.         
  12.         String sqlComm = "SELECT * FROM tb_customer" ;
  13.         
  14.         try {
  15.             //取得数据库连接
  16.             conn = new ConnOracleDb().getConnection() ;
  17.             System.out.println("--------------------------------------1---") ;
  18.             pstmt = conn.prepareStatement(sqlComm) ;
  19.             //执行查询
  20.             rs = pstmt.executeQuery() ;
  21.             System.out.println("-------------------------2----------------") ;
  22.             
  23.             //遍历取出结果
  24.             while(rs.next()) {
  25.                 System.out.println("----------------------3-------------------") ;
  26.                 System.out.print("编号:" + rs.getInt("customer_id")) ;
  27.                 System.out.print("/姓名:" + rs.getString("customer_name")) ;
  28.                 System.out.print("/性别:" + rs.getString("customer_sex")) ;
  29.                 System.out.println("/电话:" + rs.getString("customer_phone")) ;
  30.             }
  31.             
  32.             //关闭流
  33.             rs.close() ;
  34.             pstmt.close() ;
  35.         } catch(SQLException e) {
  36.             e.printStackTrace() ;
  37.         } catch(Exception e) {
  38.             e.printStackTrace() ;
  39.         } finally {//关闭数据库
  40.             try {
  41.                 conn.close() ;
  42.                 
  43.             } catch(Exception e) {
  44.                 e.printStackTrace() ;
  45.             }
  46.         }
  47.         //end
  48.     }
  49. }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值