常见的两种
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,db2Class.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,建立包含两个文本型字段name和sex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,选择如下图的项目:
点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如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 回车
结果如图显示:
以上这个例子只是简单的连接数据库,并静态游标方式显示数据,更新、删除和添加数据库以前学过sql的很容易理解,语法为:
String xx="sql语句";
Statement对象.executeUpdate(xx);