JDBC详解

JDBC:

1、  DQL :数据库查询语言 
2、  DML :数据库操作语言 
3、  DDL :数据库定义语言 
4、  DCL :数据库控制语言 

1、创建:

--读取扎包 -- 接口 (driver驱动 driverManager驱动管理器)    --Class.forName("oracle.jdbc.driver.OracleDriver");

b 建立链接 --接口(Connection)   Connection connection = driverManager.getConnection("url","uname","password");

url -- jdbc:oracle:thin:@192.168.1.37:1521:orcl 
uname -- scott 
password -- tiger 

c 发送请求 -- sql语句( 大写的在数据库的执行程序中的执行模式比较快   SELECT * FROM EMP;--dql[执行计划])  接口(statement)

 Statement statement = connection.creatStatement(); 
 PreparedStatement pstmt = connection.preparedStatement(sql);<<---在使用sql时用占位符占位 会预编译sql语句 

d 返回结果 --Resultset   

Resultset resultset = statement.executeQuery(sql); 放回结果集 
int count = pstmt.executeUpdate();受影响的行数/不用使用sql在方法中 

e 处理结果 --循环读取  while(resultset.next())

    打印结果集:getInt         getString     getDate     getTime          getTimestamp获取年月日时分秒毫秒 
    在使用时可以直接使用列名找到相对应的sql查询语句,也可以使用索引,它的索引时从第1个开始(当列名不好获取而且列名不会改变的时候会用索引查找count(*)     用索引方便1,而用列名比较麻烦count(*)) 
f 关闭链接 --先打开的后关闭 .close(); 

2、关闭链接时不一定会关闭,需要以下几步:

a 作用域 
b 关闭链接时判断是否为空 

3、select * from emp for update; 可以直接在表中修改数据,但是有一个缺点,会锁全表数据,重启服务后又会锁住。会提交事务!事务会默认提交! 

4、在提交事务的时候,如果不更改默认值则会默认提交: 
connection.setAutoCommit(flase);需要手动提交   -〉〉〉 手动提交:connection.commit();/  connection.rollback(); 

只要是物理io就有延迟 

charSequence是String(不可变)Stringbuffer(线程不安全效率高)Stringbuilder(线程安全效率低)的父接口 

一般实现接口可序列化 (Serializable) 重写tosting equalse hushmap 

truncate table emp;删除某张表的内容 
MYSQL中插入数据时 如果有时间字段 在使用sql插入和jdbc插入时要使用NOW()来占位 
在使用sqlplus时使用getdate(); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值