Java和数据库连接

问题描述:

我想写一个java程序,它将数据存储在独立的sql数据库中。然而,我不知道如何用java创建一个sql数据库以及如何建立这个连接。任何人都可以给我一些建议吗?Java和数据库连接

+3

谷歌是你最好的朋友.. – xyz 2013-02-24 06:35:51

+0

[看这个链接](https://www.google.com/search?q=java%20and%20sql) – 2013-02-24 06:37:17

+0

我不知道这个话题的任何术语。谷歌显示了很多不同的想法,我不确定应该选择哪一个。 – OneZero 2013-02-24 06:37:40

你考虑过Apache Derby吗?

的Apache Derby,一个Apache DB子项目,是完全用Java和可用在Apache 许可证2.0版下实现的开源关系 数据库。一些主要优势包括:

  • Derby的占用空间很小 - 基本引擎和嵌入式JDBC驱动程序的大小约为2.6 MB。
  • Derby基于Java,JDBC和SQL标准。
  • Derby提供了一个嵌入式JDBC驱动程序,可让您将Derby嵌入到任何基于Java的解决方案中。
  • Derby还通过Derby Network Client JDBC驱动程序和Derby Network Server支持更为熟悉的客户端/服务器模式。
  • 德比易于安装,部署和使用。

如果您是德比的新手,请查看快速入门页面。

这就是说,我忘了H2。 +1为瑞恩的建议。

添加H2到类路径,它是那样简单:

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 

public class Jdbc { 
    public static void main(String[] args) throws Exception { 
     Connection connection = DriverManager.getConnection("jdbc:h2:mem:"); 
     Statement statement = connection.createStatement(); 
     statement.execute("create table chair(id int primary key auto_increment, legs int not null, color varchar(255))"); 
     statement.execute("insert into chair (legs, color) values (4, 'red')"); 
     statement.execute("insert into chair (legs) values (6)"); 
     ResultSet rs = statement.executeQuery("select * from chair"); 
     while (rs.next()) { 
      String color = rs.getString("color") == null ? "" : rs.getString("color") + " "; 
      System.out.println("Got a " + color + "chair with " + rs.getInt("legs") + " legs"); 
     } 
     connection.close(); 
    } 
} 

除了能够在内存中或作为独立的服务器完全运行,H2还配备了一个内置的,基于Web的sql工作台。

注意:您应该从JDBC tutorial开始,帮助您避免重大缺陷,如连接泄漏。