多语言展示
当前在线:176今日阅读:176今日分享:34

java中JDBC的使用!

前提是你会使用了一款数据库软件。windows下最简单的一种连接数据库的方式就是采用ODBC,因此JDBC中专门提供了可以连接ODBC数据源的驱动程序——JDBC-ODBC连接桥。ODBC(open database connectivity)是一种开放的数据库连接标准,使用它可以在windows平台下连接几乎所有的数据库。
工具/原料
1

myeclipse

2

mySQL

方法/步骤
1

在使用JDBC连接特定数据库之前首先要加载相应的数据库的JDBC驱动类。 //通过class类的forName方法加载指定的JDBC驱动类 class.forName("驱动类全称类名");几种常用数据库的JDBC驱动类的全称类名1,JDBC-ODBC连接桥, sun.jdbc.odbc.JdbcOdbcDriver2,MySQL数据库        org.git.mm.mysql.Driver3,Oracle数据库       oracle.jdbc.driver.OracleDriver

2

注意javase安装后仅自带了JDBC-ODBC连接桥的驱动程序,其他类型的数据库在加载驱动类之前要下载驱动程序对应的jar包,并将jar包文件所在的路径添加到classpath环境变量中。在这可以发现在加载驱动类时给出驱动名是很麻烦的,在javase6.0中,对于支持Javase6.0的驱动程序,可以不必在使用class类的forName方法时加载驱动类,在使用时系统自动加载。

3

完成了驱动类的加载后就可以调用java.sql.DriverManager类的getConnection方法来建立数据库的连接。public static Connection getConnection(String url,String user,String password)throws SQLException试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的 JDBC 驱动程序集中选择一个适当的驱动程序。参数:url - jdbc:subprotocol:subname 形式的数据库 urluser - 数据库用户,连接是为该用户建立的password - 用户的密码没有用户名和密码可以用空字符串代替数据库连接字符串由三部分组成,各部分之间用:分隔jdbc:<子协议>:<子名称>子协议是数据库的名称,可以是odbc,mysql,oracle.子名称是数据源的名称或数据库的网络标识字符串。常用数据库连接字符串1,JDBC-ODBC连接桥, jdbc:odbc.数据源名2,MySQL数据库        jdbc:mysql://<主机名或IP>:<端口号>/<数据库名称>3,Oracle数据库       jdbc:oracle:thin:@<数据库服务器主机名>:<端口号>:SID   Connection con=null;    //加载JDBC-ODBC桥驱动类    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    //创建数据库连接    con=DriverManager.getConnection("jdbc:odbc:stu","","");     //关闭数据库连接     con.close();

4

成功的创建了数据库连接后,可以使用连接对象提供的createStatement方法创建语句对象来执行指定的SQL语句了。    Connection con=null;    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    con=DriverManager.getConnection("jdbc:odbc:stu","","");    //创建Statement对象    Statement stat=con.createStatement();    //在数据库中插入一条记录,执行对数据库的更新。    int count=stat.executeUpdate("insert into student values(2007004,'王强',23,'1234567')");        查询数据库    ResultSet rs=stat.executeQuery("select * from student");    Result对象封装了查询的结果,可以使用next方法移动指向结果集中记录的游标。    //循环打印结果集中的每一条记录    while(rs.next())    {     //获取当前记录中第一列内容     String sid=rs.getString(1);     //获取当前记录中第二列内容     String sname=rs.getString(2);     //获取当前记录中第三列内容     String sage=rs.getString(3);     //获取当前记录中第四列内容     String stel=rs.getString(4);     //打印本条记录的内容     System.out.println(sid+"\t"+sname+"\t"+sage+"\t"+stel);    }    r.close();    //注意因为结果集对象非常耗费系统资源,在获取完需要的内容后一定要调用close方法将其关闭。    stat.close();    con.close();

推荐信息