java连接数据库

常见的两种

1,oracle(常用)

/**
 * 一个非常标准简化版的连接Oracle数据库的示例代码
 */
public void testOracle()
{
    Connection con = null;// 创建一个数据库连接
    PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
    ResultSet result = null;// 创建一个结果集对象
    try
    {
        Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
        System.out.println("开始尝试连接数据库!");
        String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名(也就是实例名)
        String user = "system";// 用户名,系统默认的账户名
        String password = "147";// 你安装时选设置的密码
        con = DriverManager.getConnection(url, user, password);// 获取连接
        System.out.println("连接成功!");
        String sql = "select * from student where name=?";// 预编译语句,“?”代表参数
        pre = con.prepareStatement(sql);// 实例化预编译语句
        pre.setString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
        result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
        while (result.next())
            // 当结果集不为空时
            System.out.println("学号:" + result.getInt("id") + "姓名:"
                    + result.getString("name"));
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
    finally
    {
        try
        {
            // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
            // 注意关闭的顺序,最后使用的最先关闭
            if (result != null)
                result.close();
            if (pre != null)
                pre.close();
            if (con != null)
                con.close();
            System.out.println("数据库连接已关闭!");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}

2,sqlserver(只有一个实例)(常用)

packagepkg;
importjava.sql.*;
 
publicclass Main {
 publicstatic void main(String [] args)
 {
  StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
  StringdbURL="jdbc:sqlserver://"+ip+":1433;DatabaseName=你的数据库名";
  String userName="填写你的用户名,我的是sa";
  String userPwd="填写你的密码";
  try
  {
   Class.forName(driverName);
   ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);
    System.out.println("连接数据库成功");
  }
  catch(Exception e)
  {
   e.printStackTrace();
   System.out.print("连接失败");
  }    
 }
}



3,sqlserver(多个实例)(特别)

packagepkg;
importjava.sql.*;
 
publicclass Main {
 publicstatic void main(String [] args)
 {
  StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
  StringdbURL="jdbc:sqlserver://ip\实例名; DatabaseName=你的数据库名";//注意多实例的url中没有端口号1433
  String userName="填写你的用户名,我的是sa";
  String userPwd="填写你的密码";
  try
  {
   Class.forName(driverName);
   ConnectiondbConn=DriverManager.getConnection(dbURL,userName,userPwd);
    System.out.println("连接数据库成功");
  }
  catch(Exception e)
  {
   e.printStackTrace();
   System.out.print("连接失败");
  }    
 }
}

4,mysql(常用)

package com.hu.demo;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.SQLException;  
  
public class DBHelper {  
    public static final String url = "jdbc:mysql://127.0.0.1/student";  //ip/数据库名
    public static final String name = "com.mysql.jdbc.Driver";  
    public static final String user = "root";  
    public static final String password = "root";  
  
    public Connection conn = null;  
    public PreparedStatement pst = null;  
  
    public DBHelper(String sql) {  
        try {  
            Class.forName(name);//指定连接类型  
            conn = DriverManager.getConnection(url, user, password);//获取连接  
            pst = conn.prepareStatement(sql);//准备执行语句  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
  
    public void close() {  
        try {  
            this.conn.close();  
            this.pst.close();  
        } catch (SQLException e) {  
            e.printStackTrace();  
        }  
    }  
}  


5,db2

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);

6,Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);

7,Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword"; //myDB为数据库名
Connection conn= DriverManager.getConnection(url);

8 access


JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。

JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器

首先安装office2000,就有了Access2000,启动Access,建立新数据库mess.mdb,建立包含两个文本型字段namesex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,选择如下图的项目:

java连接数据库

点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如redsun。点"选择",找到"C:/mess.mdb"文件,如此一个ODBC数据源就配置好了。

要连接该数据源,也就是连接数据库,首先要建立一个JDBC-ODBC桥接器,上面已经说过了,其方法是:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Class 是Java.lang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:

try{
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 }
catch(ClassNotFoundException e){异常捕获}

然后就是连接数据库了,这里要用到java.sql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接。

Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");

为防止连接出现异常,这里也要有个异常的处理,具体看代码:

=========access.java============

程序代码 程序代码

import java.sql.*;
public class access{
public static void main(String args[]){
 Connection con;
 Statement sql; //声明Statement对象
 ResultSet rs;
try{
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 }
catch(ClassNotFoundException e){
System.out.println(""+e);
}
try{
 con=DriverManager.getConnection("jdbc:odbc:redsun","","");
sql=con.createStatement();
rs=sql.executeQuery("Select * FROM member");
while(rs.next()){
 String name=rs.getString(1); //获得数据库第一列
 String sex=rs.getString(2);
System.out.println("姓名:"+name); //输出信息
System.out.println("性别:"+sex);
   }
con.close();
}
catch(SQLException el){}
 }
}

编绎access.java, 然后在命令提示符中先切换到编绎后的access.class的目录,执行:

java access 回车

结果如图显示:

java连接数据库

以上这个例子只是简单的连接数据库,并静态游标方式显示数据,更新、删除和添加数据库以前学过sql的很容易理解,语法为:

String xx="sql语句";

Statement对象.executeUpdate(xx);


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值