初学JDBC
来源:互联网 发布:如何用js判断是否闰年 编辑:程序博客网 时间:2024/04/30 06:35
一、JDBC结构
JDBC由两层构成,第一层是JDBC API,负责Java应用程序与JDBC驱动程序管理器进行通信;第二层是JDBC驱动程序API,与实习数据库的第三方驱动程序进行通信。
二、JDBC驱动类型
JDBC驱动程序分为以下四类:
1、JDBC-ODBC Bridge Driver,这种驱动方式通过ODBC驱动器提供数据库连接。
2、Native-API partly-Java Driver,利用数据库厂商提供的特殊协议转换为Java代码及二进制代码。
3、JDBC-Net All-Java Driver,将JDBC指令转换成网络协议形式并与某种中间层连接,再通过中间层与数据库通信。
· 4、Native-protocol All-Java Driver,通过本地协议直接与数据库引擎相连,也能应用于Internet,四种方式中这种性能最好。
三、用JDBC访问数据库
1、装入JDBC驱动的两种方法(自动调用DriverManager.registerDriver()进行注册):
①调用Class.forName()显示的加载驱动:Class.forName("com.mysql.jdbc.Driver");
②将驱动程序添加到java.lang.System的属性jdbc.drivers。初始化DriverManager类时,它自动搜索系统属性jdbc.drvers且加载其中包含的驱动程序。
2、建立数据库连接:
String url="jdbc:mysql://127.0.0.1:3306/test";
Connection con=DriverManager.getConnection(url,"usName","usPassword");
3、执行SQL语句:
①Staement类:
String query = "SQL语句";
Staement st=con.createStatement();
ResultSet rs=st.executeQuery(query);//发送SQL语句,获得结果
②PreparedStaement类
③CallableStaement类
四、setString()设置参数值
String query="select name,age,addr from student where addr=?"
PreparedStatment ps=con.prepareStatement(query);
ps.setString(1,"chongqing");
ResultSet rs=ps.executeQuery();
五、事务管理
定义:概指一系列的数据库操作,这些操作要么全做,要么全不做,是一个不可分割的工作单元,也可以说是数据库应用程序中的一个基本逻辑单元。
典型的3类数据出错:
①脏读:一个事物修改了某一行数据而为提交,另一个事物读取了这行数据。
②不可重复读:一个事物重复读取某一数据行时,另一事物修改这个数据行,导致第一个事物读取数据不一致。
③错误读:一事物在表中查询时,另一事物恰好插入了满足查询条件的数据行,导致第一个查询得到额外的数据值。
3个方法完成基本的事物管理:
setAutoCommit();//设置自动提交属性rollback();//回滚事物commit();//事物提交(addBatch(query)//添加事物到类)
六、数据库存取优化
1、预编译处理:将要多次运行的SQL语句(参数不同),存放到数据库缓冲区以减少与数据库的交互,更多的重用代码。
2、调用存储过程:机制同上
3、采用连接池:预先建立一些连接放在内存以备使用,当程序需要数据库连接时,直接从内存中取来使用,用完后放回内存即可。
- 初学JDBC
- 初学JDBC
- 初学JDBC
- 初学JDBC
- JDBC初学
- 初学JDBC
- 初学JDBC
- 初学到jdbc数据库连接
- 初学JDBC(八)-JDBC的事务处理
- 初学JDBC请教基础问题
- JavaWeb初学(tomcat,JDBC)
- 初学JDBC(二)-连接数据库
- 初学JSP与JDBC(mysql数据库)
- 初学JDBC(一)-简介与工作原理
- JSP连接数据库(初学JDBC+access数据库 )
- JDBC初学后的第一次复习:Class.forname
- JDBC初学后的第一次复习:Connection , DriverManager
- 初学JDBC(四)-使用Preparedstatement接口实现增删改操作
- 最基础教程--扬声器麦克风耳机等电声器材的辨认与检查
- Win7下安装配置PHP+Apache+Mysql+PHPMyAdmin环境教程(非集成)
- 转载:OGRE一起学(九)平面
- 诸葛:Growth Hacking为何物?
- vim笔记
- 初学JDBC
- 文本分词方法
- WebView使用,简易浏览器
- hadoop SLF4J错误
- 如果查看某一IP的计算机接在交换机的哪个接口上
- Linux 技巧:让进程在后台可靠运行的几种方法
- poj 1422 Air Raid
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 碰到斑马打印机下载字体问题