1、加载驱动。
Class.forName("com.mysql.jdbc.Driver");或Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
2、建立连接
java.sql.Connection conn=DriverManager.getConnection(url,user,password);
url为连接字符串:一般为"jdbc:mysql://localhost:3306/databaseName?param1=value1¶m2=value
2...", param可为User=root Password (l默认为None) useUnicode(是否让服务器使用Unicode来进行字
符的编码)=true characterEncoding(在useUnicode为true的情况下指定什么字符编码)=gb2312 这种
设置可以防止使用中文时出现乱码。
3、建立statement
java.sql.Statement statement=conn.createStatement();
4、执行SQL语句
java.sql.ResultSet rs=statement.executeQuery("sql");//查询
注意:一个Statement执行executeQuery只能返加一个ResultSet,如果连续执行两个静态查询,前一个查询
返回的结果集被覆盖,只能读取后一个查询返回的结果集。
statement.executeUpdate("sql"); //修改数据库
5、获取元数据(数据字典)
java.sql.ResultSetMetaData rsmd=rs.getMetaDate();
int count=rsmd.getColumnCount(); //获取列数
String name= rsmd.getColumnName(i); //获取列名.
6、结果集的操作;
rs.getXXX如
rs.getByte(1) rs.getInt(1) rs,getString(1)等
设置数据是否可以更新:
statement =conn.createStatement(ResultSet.TYPE_SCROLL _INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
游标移动方式:
TYPE_FORWARD _ONLY :只能向前移动
TYPE_SCROLL _INSENSITIVE :可向前向后移动,移动不受其他结果集游标移动的影响。
TYPE_SCROLL _SENSITIVE
数据集的操作方式:
CONCUR_READ_ONLY
CONCUR_UPDATABLE
结果集游标的移动:
boolean previous();游标指向前一条记录,若指向第一条记录之前,返回false; 例: rs.previous();
void beforeFirst() ;移动到第一条记录之前;
void afterLast(); 移动到最后一条记录之后;
boolean first();指向第一条记录,若指向一条记录,返回true;若为false说明结果集为空。
boolean last();指向最后一条记录;
boolean relative(int rows);依rows的正负值,从当前记录向前或向后移动到第rows条记录。
boolean absolute(int rows);移动到结果集的第rows条记录,若为-1,若与last()结果一样。
boolean isFirst();是否指向第一条记录;
boolean isBoforeFirst();是否指向第一条记录之前;
boolean isLast();是否指向最后一条记录。
boolean isAfterLast();是否指向最后一条记录之后。
int getRow();返回目当游标位于第几条记录之上。若位于第一条之前若最后一条之后则返回0;