服务器测评网
我们一直在努力

Java不用框架如何直接访问数据库?

在Java开发中,框架虽然能大幅提升开发效率,但在某些轻量级场景或学习阶段,不使用框架直接访问数据库或资源也是可行的,本文将详细介绍Java不使用框架时如何通过原生方式访问数据库、HTTP接口及文件系统,涵盖核心实现步骤与注意事项。

Java不用框架如何直接访问数据库?

JDBC直连数据库实现数据操作

不使用框架时,JDBC(Java Database Connectivity)是访问数据库的基础方式,实现步骤如下:

加载并注册数据库驱动,以MySQL为例,需引入mysql-connector-java依赖,通过Class.forName("com.mysql.cj.jdbc.Driver")加载驱动类,获取数据库连接,使用DriverManager.getConnection()方法,传入URL(格式为jdbc:mysql://localhost:3306/dbname?useSSL=false&serverTimezone=UTC)、用户名及密码。

连接建立后,创建StatementPreparedStatement对象执行SQL,为防止SQL注入,推荐使用PreparedStatement,通过占位符传参,

String sql = "SELECT * FROM users WHERE username = ? AND password = ?";
PreparedStatement pstmt = connection.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, password);
ResultSet rs = pstmt.executeQuery();

遍历ResultSet获取结果集数据,操作完成后需按顺序关闭ResultSetStatementConnection资源,避免内存泄漏,可结合try-finallytry-with-resources(JDK7+)确保资源释放,

Java不用框架如何直接访问数据库?

try (Connection conn = DriverManager.getConnection(url, user, password);
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    // 执行SQL逻辑
} catch (SQLException e) {
    e.printStackTrace();
}

原生HTTP请求处理

不使用Spring Boot等框架时,可通过Java标准库或第三方库发送HTTP请求,标准库HttpURLConnection适合简单场景,而Apache HttpClient功能更全面。

HttpURLConnection为例,实现GET请求步骤:

  1. 创建URL对象:URL url = new URL("https://api.example.com/data");
  2. 打开连接:HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  3. 设置请求方法:conn.setRequestMethod("GET");
  4. 获取响应码:int responseCode = conn.getResponseCode();
  5. 读取响应数据:通过conn.getInputStream()获取输入流,使用BufferedReader逐行读取:
    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String inputLine;
    StringBuilder response = new StringBuilder();
    while ((inputLine = in.readLine()) != null) {
     response.append(inputLine);
    }
    in.close();

    POST请求需额外设置conn.setDoOutput(true),并通过conn.getOutputStream()写入请求体数据,若需处理JSON,可引入org.json等库手动序列化/反序列化。

文件系统与IO操作

Java通过java.iojava.nio包(NIO.2)提供文件访问能力,传统IO流适合简单文本操作,例如读取文件:

Java不用框架如何直接访问数据库?

try (BufferedReader reader = new BufferedReader(new FileReader("test.txt"))) {
    String line;
    while ((line = reader.readLine()) != null) {
        System.out.println(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

NIO.2以PathFiles为核心,支持更高效的文件操作,

  • 获取文件路径:Path path = Paths.get("data.txt");
  • 读取文件内容:List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
  • 写入文件:Files.write(path, "Hello World".getBytes(StandardCharsets.UTF_8));
    NIO.2还支持文件监听、异步IO等高级功能,通过WatchService可监听文件目录变化:

    WatchService watchService = FileSystems.getDefault().newWatchService();
    path.register(watchService, StandardWatchEventKinds.ENTRY_CREATE);
    WatchKey key = watchService.take();
    for (WatchEvent<?> event : key.pollEvents()) {
      System.out.println("事件类型: " + event.kind() + ", 文件: " + event.context());
    }

不使用框架的注意事项

  1. 资源管理:手动管理数据库连接、IO流等资源,确保使用后关闭,避免资源泄漏。
  2. 异常处理:需捕获并处理可能抛出的异常(如SQLExceptionIOException),避免程序中断。
  3. 配置管理:数据库连接URL、用户名等敏感信息建议通过配置文件(如config.properties)读取,而非硬编码。
  4. 性能优化:频繁创建数据库连接时,可考虑实现简单连接池(如自定义DataSource),避免连接开销。

不使用框架开发虽然需要处理更多底层细节,但有助于理解Java基础API和资源管理机制,适合学习或轻量级场景,实际项目中,可根据需求权衡是否引入框架以提升开发效率。

赞(0)
未经允许不得转载:好主机测评网 » Java不用框架如何直接访问数据库?