分享

java学习——121.Java连数据库代码说明

 pythonjava学习 2021-04-06

本篇介绍用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();

    }

}

 其运行结果如下:

与数据库中的数据一致。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多