jdbc

来源:互联网 发布:矩阵论教材 编辑:程序博客网 时间:2024/05/22 01:59
Connection


1.对于得到数据库连接Connection后,要主动设置事务机制与事务提交
connectoin.getAutoCommit(false);
connectoin.setTransactionIsolation(int)
2.如果在设置了setAutoCommit(false) 后,在execute(sql)后要调用 connection.commit()不然对数据库的修改不会生效 






Statement 


1.对于不经常执行的SQl 才使用statment 进行执行,在statement 执行过后要主动关掉statement.close() 占用的连接 
2.execute(String sql) 执行成功,但返回值可能为false
3.Statement.getFetchSize() 的返回值并不是执行 SQL语句的结果的个数,而是一个设置值,对应的为 statement.setFetchSize()






ResultSet
1.数据库中的无论是行还是列,都是从1开始计数的
2.在创建ResultSet 的statement 执行close 时,ResultSet 也执行关闭
3.ResultSet.absolute(int index ) 对记录进行定位到 index 行(从1开始)
3.void afterlast() 将游标定位到最后一个的后面,也就是不行再执行getxx,因为游标已经指不到数据了
4.void beforeFirst() 将游标定位到最开始前,next() 后开始定位到第一个数据 
5.deleteRow()从ResultSet 中的删除游标指向的当前行,但 statement在取时要设置其类型如果,
statement = connection.createState(ResultSet.TYPE+SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATEABLE)
但一般都用SQL 语句操作
6.boolean first() 将游标移到到ResultSet 中的第一行
7.向数据库中更新信息:
updateString("username","google") 此是更新当前行中的username属性,但并不会真正更新,在调用set.updateRow()会正在修改数据库中的东西 
8.向数据库中插入信息
得到resultSet.moveToInsertRow(),然后执行
set.updateLong(1,System.currentTimeMillis());
set.updateString(2,"root");
set.updateString(3,"root");
set.updateString(4,"root");
set.insertRow() //最的执行插入


9.得到查询记录中的总数 
ResultSet set = stm.executeQuery("select * from user");
set.last() //将游标定位到最的一行,s
int count = set.getRow() // 返回最后一行的编号,即为 查询到的总数 
set.first()//再将游标定位到第一行




ReslutSetMateData
1.String getCatalogName(int column) //返回数据库的名字 
2.String getColumnClassName(int column) //返回当前列中的对应java 中的类型
3.String getColumnTypeName(int column) //返回SQL 中类型的名字
3.int getColumnCount() //返回列中数目
4.int getColumnDisplaySize(int column) 返回当前列的大小 
5.String tableName(int column) //返回表的名字 
6.boolean isAutoIncrement(1) 是否为自动增加
7.int isNullable(int column) //指示当前列是否可以为空
原创粉丝点击