本篇介绍用JDBC连接数据库时各代码的含义。 1、指定JDBC驱动程序 调用Java.lang.Class类的forName()方法指定JDBC驱动程序类。 要注意的是,不同的数据库其forName()方法中的参数是不一样的;就算是同一数据库,版本不一样,其参数也有可能不一样。 我的是SQL Server 2008版,故其代码为: Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 如果是MySql数据库,其代码应为: Class.forName("com.mysql.jdbc.Driver"); 2、连接指定数据库 调用Java.lang.DriveManager类中的getConnection()方法连接指定数据库。 DriverManager.getConnection(url,userName,userPwd); 其中,url是JDBC数据源,userName是安装数据库时的账户名,SQLserver的默认账户一般是sa,userPwd是登陆数据库时的密码。 数据库连接的结果一般是存储在Connection的对象中。 如我的代码: Connection conn=DriverManager.getConnection(url,userName,userPwd); 3、Statement语句对象 Statement st=conn.createStatement();表示的是根据与对应数据库的连接,创建一个Statement对象 4、ResultSet 执行SQL语句的结果要放在ResultSet对象中。 如: ResultSet rs = st.executeQuery(sql); 要注意的是,不同的SQL语句执行的方法是不一样的。 上例是查询语句的方法,若是插入语句,则用的是:excuteUpdate(sql)方法。 例:查询并输出数据库中某一张表的数据。 在做本例之前,我已经在数据库中添加了一些数据。 另,连接数据库的类与上篇一致,代码就不再重复帖在这里了。 import java.sql.*; public class Test_ex { private SQLclass consql; ResultSet rs; int i; public Test_ex(){ String sql="select *from layuser"; consql=new SQLclass(sql); rs=consql.get_ResultSet(); try{ while(rs.next()){ System.out.print("ID:"+rs.getInt(1)+"\t"); //getInt()是因为在数据库里第一列定义的是int类型,()参数若是数字,对应的是数据库表的第几列,也可以直接用字段名 System.out.print("username:"+rs.getString(2)+"\t"); System.out.print("password:"+rs.getString("password")); System.out.println(); } } catch(Exception e){} } public static void main(String args[]){ new Test_ex(); } } 其运行结果如下: 与数据库中的数据一致。 |
|
来自: pythonjava学习 > 《待分类》