Java数据库编程学习总结(1)

最近项目写的几个小工具一直是和数据库联系的,看的是《Java核心技术卷二》,感觉java的数据库编程这块内容还是比较多的,总结一下。

Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。

用于jdbc编程的类都包含在java.sql和javax.sql两个包中。

一.首先是连接数据库,语法为:

1
2
3
// subprotocol用于指明连接到的数据库的特定支持驱动程序
// other stuff随subprotocol的不同而不同
jdbc:subprotocol:other stuff

二.建立连接:

DriverManager类用于选择数据库驱动程序和建立新的数据库连接。不过必须前注册才行,(System.setProperty方法)。注册后才可以连接数据库。

1
2
3
4
5
6
7
// 这一行是注册信息
System.setProperty("jdbc.drivers", "org.postgresql.Driver")
// 下面是打开一个数据库连接
String url= "jdbc:mysql://localhost:3306/dbname"
String username = "root"
String password = "xxxx"
Connection conn = DriverManager.getConnection(url, username, passsword);

这里书上用了.properties文件来读取注册信息连接信息

1
2
3
4
jdbc.drivers=org.postgresql.Driver
jdbc.url=jdbc:mysql://localhost:3306/dbname
jdbc.username=root
jdbc.password=xxxx

不过这里我有些疑问,先Mark一下:

那就是我在主文件读取jdbc.drivers的信息,但是我在.properties文件中把这一行注释掉了,为何还可以连接?即没有注册但是连接了?

以下这段代码可以直接用来每次读取属性文件并打开连接数据库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
	/**
	* Gets a connection from the properties specified in the file database.properties
	* @return the database connection
	*/
	public static Connection getConnection() throws SQLException, IOException
	{
	    Properties props = new Properties();
	    FileInputStream in = new FileInputStream("F:/DB/database.properties");
	    props.load(in);
	    in.close();
 
	    String drivers = props.getProperty("jdbc.drivers");
	    if (drivers != null) 
	    	System.setProperty("jdbc.drivers", drivers);
 
	    String url = props.getProperty("jdbc.url");
	    String username = props.getProperty("jdbc.username");
	    String password = props.getProperty("jdbc.password");
 
	    return DriverManager.getConnection(url, username, password);
	}

然后在主方法可以:

1
Connection conn = getConnection();

三.创建JDBC Statement对象:

1
Statement stat = conn.createStatement();

要执行SQL命令,必须先创建一个Statement对象。

然后可以通过execute等语句执行SQL:

1
stat.execute("SELECT * FROM DBNAME" );

当执行完SELECT查询语句后,可以得到一个查询的结果(ResultSet对象):

1
2
3
4
5
ResultSet result = stat.getResultSet();
while(result.next())
{
    xxxx;
}

关于java jdbc的官方doc:
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-136101.html

我勒个去,累了,下一次总结下元数据。。。

DATE:2011.12.19

By:Tanky Woo at 教室

发布者

Tanky Woo

Tanky Woo,[个人主页:https://tankywoo.com] / [新博客:https://blog.tankywoo.com]

《Java数据库编程学习总结(1)》有435个想法

  1. 我们这学期有门《网站开发技术》的课
    十几个课时就把JSP MODEL1 、MODEL2、SPRING、HIBERNATE、STRUTS讲完了
    而且我们还用各种技术做了学籍管理系统的
    奇迹吧?

    1. 1、本身我就不想选那门课的,无奈于另外一门设计模式的课因选的人太少,被取消了
      2、上课听一下,下来不花时间,所以你懂的…

发表评论

电子邮件地址不会被公开。 必填项已用*标注