您的位置:

使用Java连接数据库

随着互联网的发展,数据的存储和处理变得越来越重要,因此学习如何使用Java连接数据库也变得越来越重要。Java是一种广泛使用的编程语言,具有跨平台性和易于学习的特点,同时也可以方便地连接数据库。

一、连接关系型数据库

Java可以与大多数关系型数据库进行连接,如Oracle、MySQL、PostgreSQL等。下面以MySQL为例介绍Java如何连接数据库。

首先需要下载该数据库的驱动程序,并将其添加到Java项目的类路径中。

Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/database";
Connection conn = DriverManager.getConnection(url,"root","password");

在代码中,首先使用Class.forName()方法加载MySQL的驱动程序,在连接字符串中指定连接的数据库和端口号。使用DriverManager.getConnection()方法连接数据库,并指定用户名和密码。

连接数据库成功后,可以通过Connection对象执行SQL语句。

Statement stmt = conn.createStatement();
String sql = "SELECT * FROM users;";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()){
    System.out.println(rs.getString("name"));
}

在以上代码中,使用Connection.createStatement()方法创建Statement对象,使用executeQuery()方法执行SQL查询,并使用ResultSet遍历结果集。

二、连接非关系型数据库

除了关系型数据库,Java还可以连接非关系型数据库,如MongoDB、Redis、Cassandra等。

下面以MongoDB为例介绍Java如何连接非关系型数据库。

首先需要下载该数据库的驱动程序,并将其添加到Java项目的类路径中。

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
Properties properties = new Properties();
properties.load(classLoader.getResourceAsStream("mongo.properties"));
String host = properties.getProperty("host");
int port = Integer.parseInt(properties.getProperty("port"));
String databaseName = properties.getProperty("databaseName");

MongoClient mongoClient = new MongoClient(host, port);

MongoDatabase database = mongoClient.getDatabase(databaseName);

MongoCollection<Document> collection = database.getCollection("users");

FindIterable<Document> iterable = collection.find();

for(Document document : iterable) {
   System.out.println(document.toJson());
}

在以上代码中,通过加载属性文件的方式获取MongoDB的连接信息,并创建MongoClient连接。获取MongoDatabase对象和MongoCollection对象,使用find()方法查询文档,并使用Document.toJson()方法将结果转化为JSON格式输出。

三、连接池技术

连接池技术是一种提高数据库连接利用率的技术,通过提前创建连接对象,并将其存储在连接池中等待重用,避免了重复创建连接对象的性能开销。

下面以Druid连接池为例介绍Java如何使用连接池技术。

首先需要将Druid的依赖添加到项目中。

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.16</version>
</dependency>

在代码中,使用DruidDataSource创建连接池对象,设置连接池的属性,并通过getConnection()方法获取连接对象。

//创建dataSource
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDbType("mysql");
dataSource.setUrl("jdbc:mysql://localhost:3306/database");
dataSource.setUsername("root");
dataSource.setPassword("password");

//获取连接对象
Connection conn = dataSource.getConnection();

在以上代码中,通过设置数据源的URL、用户名和密码等信息,使用dataSource.getConnection()方法获取连接对象,使用完毕后需要调用conn.close()方法归还连接池对象。

代码示例

完整的Java连接数据库的代码示例如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import com.alibaba.druid.pool.DruidDataSource;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;

public class ConnectionDemo {
    //连接MySQL数据库
    public void mysqlConnectionDemo() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/database";
        Connection conn = DriverManager.getConnection(url,"root","password");

        Statement stmt = conn.createStatement();
        String sql = "SELECT * FROM users;";
        ResultSet rs = stmt.executeQuery(sql);
        while(rs.next()){
            System.out.println(rs.getString("name"));
        }

        conn.close();
    }

    //连接MongoDB数据库
    public void mongoConnectionDemo() throws Exception {
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        Properties properties = new Properties();
        properties.load(classLoader.getResourceAsStream("mongo.properties"));
        String host = properties.getProperty("host");
        int port = Integer.parseInt(properties.getProperty("port"));
        String databaseName = properties.getProperty("databaseName");

        MongoClient mongoClient = new MongoClient(host, port);

        MongoDatabase database = mongoClient.getDatabase(databaseName);

        MongoCollection collection = database.getCollection("users");

        FindIterable
    iterable = collection.find();

        for(Document document : iterable) {
            System.out.println(document.toJson());
        }

        mongoClient.close();
    }

    //使用Druid连接池连接MySQL数据库
    public void druidConnectionDemo() throws SQLException {
        //创建dataSource
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDbType("mysql");
        dataSource.setUrl("jdbc:mysql://localhost:3306/database");
        dataSource.setUsername("root");
        dataSource.setPassword("password");

        //获取连接对象
        Connection conn = dataSource.getConnection();

        conn.close();
    }
}

   
  

总结

本文从连接关系型数据库、连接非关系型数据库、连接池技术三个方面详细介绍了如何使用Java连接数据库,并提供了相应的代码示例。Java连接数据库是Java开发中的一个重要知识点,对于提高应用的性能和稳定性具有重要作用。

连接mysql数据库笔记1(如何连接数据库mysql)

2022-11-10
jsp使用java连接数据库(jsp连接数据库的方法)

本文目录一览: 1、怎么使用JAVA连接数据库? 2、怎么用jsp连接mysql数据库 3、在JSP页面中实现连接数据库与在Java程序中实现连接数据库有什么区别? 4、java 中 怎样将JSP页面

2023-12-08
jsp数据库笔记,jsp写入数据库

本文目录一览: 1、怎么用jsp连接mysql数据库 2、jsp中怎么使用数据库 3、JSP 从数据库中如何取得图片的路径? 怎么用jsp连接mysql数据库 一. 数据库的连接和操作笔记:1.初始化

2023-12-08
重学java笔记,java笔记总结

2022-11-23
Java数据库连接,java 连接数据库

2023-01-04
java学习笔记(java初学笔记)

2022-11-14
发篇java复习笔记(java课程笔记)

2022-11-09
mysqljdbc连接数据库步骤(如何使用jdbc连接数据库

2022-11-13
数据库与java连接,数据库与java建立连接

2022-12-01
java笔记,大学java笔记

2022-11-28
数据库连接java,数据库连接java登录界面

2022-12-02
java与数据库连接篇,数据库和java怎么连接

2022-11-21
jdbc连接mysql数据库时(JDBC数据库连接)

2022-11-11
使用Java连接数据库

2023-05-11
Java连接数据库

2023-05-11
java笔记,尚硅谷java笔记

2022-12-01
java连接数据库基本步骤(java数据库连接方式)

2022-11-11
Java连接数据库

2023-05-11
java连接数据库,java连接数据库实现登录

2023-01-09
java连接数据库之mysql,连接java和数据库

2022-11-18