JDBC链接数据库的几个步骤

 更新时间:2015年07月21日 12:03:51   投稿:mrr  
这篇文章主要介绍了JDBC链接数据库的几个步骤,通过将数据库的连接放在一个工具类里面,达到重用的效果,需要的朋友可以参考下

此文列出了JDBC链接数据库的4个步骤,供大家参考下:

JDBC:JAVA访问数据库的解决方案。

几个步骤:1.加载驱动类;

     2.与数据库建立连接;

             3.执行SQL语句

       4.处理结果集

       5.关闭连接

1. 第一步:加载驱动类:

  需要注意:不同的数据库,参照的字符串不同,ORACLE的连接为:Class.forName("oracle.jdbc.driver.OracleDriver"); 这一步执行后,程序可能会抛出: ClassNotFoundException,原因一般有:

a. 数据库的驱动jar包没有导入到环境变量中

b. Class.forName中的字符串拼写不正确

2. 第二步:通过DriverManager与数据库建立连接:

其静态方法getConnection用来获取连接。通常需要传入三个参数

参数1:数据库的地址及端口(不同数据库字符串内容不相同)

oracle的地址:jdbc:oracle:thin:@host:port:sid

参数2:数据库的用户名

参数3:数据库对应用户名的密码

Connection conn = DriverManager.getConnect
("jdbc:oracle:thin:@host:port:oracle","user", "psd");

3.第三步:java.sql.Statement 执行SQL语句并获取结果

Statement state = conn.createStatement();

String sql="/*这里面是SQL语句*/  ";

Statement针对不同的SQL语句提供了不同的执行方法:

ResultSet executeQuery(String sql)

  * 该方法专门用来执行DQL语句,返回的ResultSet表示查询出来的结果集

int executeUpdate(String sql)
  * 该方法专门用来执行DML语句,返回的数字表示执行该语句影响了表中多少条数据

boolean execute(String sql)
  * 该方法理论上什么语句都可以执行了,但是由于DQL,DML都有专门的方法执行了,所以该方法通常用来执行DDL语句

ResultSet rs = state.executeQuery(sql);
输出查询结果:while(rs.next())
        {  输出语句  }
ResultSet提供用于遍历结果集的方法:

boolean next()

  *该方法有两个作用,首先当我们查询出结果集后rs的指针指向第一条数据之上,所以我们需要先调用一次next()使其指针移动到第一条数据上并表示该条数据。 
第二个作用是看返回值,若指针向下移动后,发现没有数据了,会返回false,若有则返回true,所以我们只有在该方法返回true的情况下才获取当前记录的各个字段对应的值RS还提供了若干个getXXX(String fieldName)方法:

  *这一系列方法是用来获取RS表示的当前记录中给定字段对应的值。不同的字段由于类型不同需要调用相对应的方法

第4步:关闭连接,写在finally块中

finally{
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

将数据库的连接放在一个工具类里面,达到重用的效果

由于访问数据库是经常要用到的操作,所以在工程中,通常编写一个访问数据库的工具类,此后所有访问数据库的操作,都从工具类中获取连接,实现工具类的两种方式:

1.直接把数据配置写在工具类DBUtil中

2.把数据库配置写在一个properties属性文件里,工具类读入属性文件,逐行获取数据库参数(一般使用第二种)

若使用第一种方法,在后期需要修改所使用的数据库或者说修改host、端口、数据库连接名、密码等等时,就需要修改源代码里面的数据,不便于系统的维护,故一般使用第二种方法数据库连接工具类DBUtil.java以及连接池的主要步骤:

Properties prop = new Properties();
prop.load(new FileInputStream("config.properties"));
//根据配置项初始化
String driverName = prop.getProperty("driverName");
String url = prop.getProperty("url");
String username = prop.getProperty("username");
String password = prop.getProperty("password");
//最大连接数
int maxActive = Integer.parseInt(prop.getProperty("maxActive"));
//最大等待时间
int maxWait = Integer.parseInt(prop.getProperty("maxWait"));
//初始化连接池
cp = new BasicDataSource();
//相当与是Class.forName()中的内容
cp.setDriverClassName(driverName);
cp.setUrl(url);
cp.setUsername(username);
cp.setPassword(password);
cp.setMaxActive(maxActive);
cp.setMaxWait(maxWait);
public static Connection getConnection() throws Exception{
return cp.getConnection();
}
以上内容是针对JDBC链接数据库的步骤做讲解,希望能够帮助到大家!

相关文章

  • DoytoQuery中的查询映射方案详解

    DoytoQuery中的查询映射方案详解

    这篇文章主要为大家介绍了DoytoQuery中的查询映射方案详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringMvc向request域中设置数据的方法

    SpringMvc向request域中设置数据的方法

    这篇文章主要介绍了SpringMvc向request域中设置数据的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Springboot项目启动成功后可通过五种方式继续执行

    Springboot项目启动成功后可通过五种方式继续执行

    本文主要介绍了Springboot项目启动成功后可通过五种方式继续执行,主要包括CommandLineRunner接口,ApplicationRunner接口,ApplicationListener接口,@PostConstruct注解,InitalizingBean接口,感兴趣的可以了解一下
    2023-12-12
  • java8中的默认垃圾回收器(GC)

    java8中的默认垃圾回收器(GC)

    这篇文章主要介绍了java8中的默认垃圾回收器(GC),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • SpringBoot实现接口统一前缀

    SpringBoot实现接口统一前缀

    本文主要介绍了SpringBoot实现接口统一前缀,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 详解SpringCloud mysql实现配置中心

    详解SpringCloud mysql实现配置中心

    这篇文章主要介绍了详解SpringCloud mysql实现配置中心,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • java中FileOutputStream中文乱码问题解决办法

    java中FileOutputStream中文乱码问题解决办法

    这篇文章主要介绍了java中FileOutputStream中文乱码问题解决办法的相关资料,需要的朋友可以参考下
    2017-04-04
  • Java实现FTP文件与文件夹的上传和下载

    Java实现FTP文件与文件夹的上传和下载

    本文主要分享了Java实现文件上传和下载的具体实例,分为单个文件的上传与下载和整个文件夹的上传与下载。具有很好的参考价值,需要的朋友一起来看下吧
    2016-12-12
  • IntelliJ IDEA报错Error:java: Compilation failed: internal java compiler error的解决办法

    IntelliJ IDEA报错Error:java: Compilation failed: internal java

    今天小编就为大家分享一篇关于IntelliJ IDEA报错Error:java: Compilation failed: internal java compiler error的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • java IO流文件的读写具体实例

    java IO流文件的读写具体实例

    这篇文章主要介绍了java IO流文件的读写具体实例,有需要的朋友可以参考一下
    2013-12-12

最新评论