初学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、采用连接池:预先建立一些连接放在内存以备使用,当程序需要数据库连接时,直接从内存中取来使用,用完后放回内存即可。

0 0
原创粉丝点击