JDBC
JDBC的全称为:Java Database Connectivity,即java数据库连接。 使用JDBC开发程序,不仅可以跨数据库,而且还是跨平台的,也就是说使用JDBC开发的程序可以在windows和unix上使用,同时可以针对mysql和oracle等其他数据库,而程序不需要做任何的修改。
mysql的连接命令如下:
mysql -p 密码 -u 用户名 -h 主机名
这也可以连接远程主机。 mysql 数据库通常支持以下两种存储机制:
- MyISAM:这是mysql早期默认的存储机制,对事务的支持不够好。
- InnoDB:InnoDB提供了事务安全的存储机制。InnoDB通过建立行级锁来保证事物完整性。
DDL 数据定义语言:create alter drop truncate DML 数据操作语言:insert update delete DCL 数据控制语言:grant revoke
create table/index/view/function/procedure/trigger…
创建表的过程:
create table [模式名.]表名 { columnName1 datatype [default expr], … }
数据库字段类型:
- tinyint/smallint/mediumint/int/bigint
- float/double
- decimal(dec)
- date
- time
- datetime
- timstamp(时间戳)
- year
- char
- varchar
- binary
- varbinary
- tinyblob/blob/mediumblob/longblob
- tinytext/text/mediumtext/longtext
- enum(‘value1’,’value2’…) 其中的一个
- set(‘value1’,’value2’…) 其中的几个
JDBC 的编程步骤:
- 加载数据库的驱动:
Class.forName(driverClass),dirverClass对应数据库驱动类的字符串。如果针对mysql就是: Class.forName(“com.mysql.jdbc.Driver”);
- 通过DriverManager来获取数据库的连接,方法如下:
DriverManager.getConnection(String url, String user, String pass)
url/user/pass 分别代表,数据库的连接地址,用户名和密码,url针对不同的数据库有不同的地址,这个可以针对每个数据库的jdbc文档进行查看,如果针对mysql的数据库,可以使用如下的方式来连接数据:
jdbc:mysql://hostname:port/databasename
如果是针对oracle的连接,则url地址如下:
jdbc:oracle:thin:@hostname:port:databasename
- 通过Connection对象创建Statement对象。Connection来创建Statement方法有如下三个:
createStatement(): 创建Statement对象
prepareStatement(String sql): 根据传入的sql语句,通过数据的预编译,创建预编译的Statement对象。
prepareCall(Stirng sql): 根据传入的sql语句创建预编译的CallableSattement对象。
- 使用Statement来执行sql语句,但是执行的时候有如下的三种方式:
execute():可以执行任何的sql语句
executeUpdate(): 主要执行DML DDL 返回受sql影响的行数,执行DCL的时候返回0
executeQuery() 执行查询语句,返回结果集ResultSet对象
如果是查询语句,返回的是ResultSet对象,针对ResultSet对象主要提供如下的操作,next() previous() last() beforeFirst() afterLast() 等方法来移动指针。同时可以针对每一条记录可以使用getXxx()方式来获取数据。
回收数据库的资源。