《疯狂java讲义》第二版中,在java集合和JDBC之间还有泛型、异常处理、AWT和swing四个章节。其中泛型和异常处理大致地看过,因为对我目前而言不太重要,所以没有做笔记。AWT和swing属于GUI编程,是很重要的,但是目前没有迫切的需要,所以打算抽出某个周末的时间看掉。那么这次笔记就从JDBC开始做起。
一、JDBC基础
JDBC全称Java Database
Connectivity,即java数据库连接,是一种可以执行SQL语句的java API。JDBC
API是接口,没有具体实现,实现类由各数据库厂商提供,而程序员使用JDBC时只要面向标准的JDBC API编程即可。
我们大三下学期做的数据库课程设计,就是实现了自己的数据库,然后接上了JDBC的接口。想来还是历历在目,真是难忘的回忆。
二、JDBC用法
2.1 准备和概述
为了在java中使用MySQL数据库,须做如下准备:
2.
安装,安装配置过程中会要求设root的密码;
3. 去安装地址Connector
J目录下,把mysql-connector-java-版本号-bin.jar复制粘贴到工程的lib目录下,右键工程-properties-java
build path-libraries-add jars,把上面的jar包添加进去;
然后就可以跑如下代码了:
Class.forName("com.mysql.jdbc.Driver");
Connection connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/test",
"root", "自己设置过的密码");
Statement stmt = connection.createStatement();
stmt.executeUpdate("drop table people");
stmt.executeUpdate("create table people(name char(20), age
int)");
stmt.executeUpdate("insert into people(name, age) values
("Hongwei Wang", 21)");
PreparedStatement pstmt = connection.prepareStatement("insert
into people(name, age) values(?, ?)");
pstmt.setString(1, "Yujun Li");
pstmt.setInt(2, 21);
pstmt.executeUpdate();
ResultSet rs = stmt.executeQuery("select * from
people");
while (rs.next()) {
System.out.println(rs.getString(1) + ' ' +
rs.getInt(2));
}
rs.close();
stmt.close();
connection.close();
第二行里面的test是数据库的名字,test是MySQL默认自带的一个数据库,所以可以直接用。用户名是root,密码就是安装过程中自己设置的密码。
sql的语法不用多说了,课上都学过了,真忘了的话再复习课本去。
jdbc的用法大概就是上面的例子里的那么多了。注意PreparedStatement中可以用占位符,这样做增删改查会更好,原因:
1. 预编译,更快;
2.
无需“拼接”sql语句,更简便;
3. 防止sql注入,更安全。
2.2 blob
blob类型可以存储大文件,如图片等。具体的细节等看完swing编程之后再来补充。