您当前的位置:首页 > 教学课堂 > JAVA技术

java数据库操作

来源:长沙北大青鸟  发布时间:2015-07-21  北大青鸟新生QQ群:535324780

        数据库访问几乎每一个稍微成型的程序都要用到的知识,怎么高效的访问数据库也是我们学习的一个重点,今天的任务就是总结java访问数据库的方法和有关API,java访问数据库主要用的方法是JDBC,它是java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,下面我们就具体来总结一下JDBC

一:Java访问数据库的具体步骤:

1 加载(注册)数据库 
 驱动加载就是把各个数据库提供的访问数据库的API加载到我们程序进来,加载JDBC驱动,并将其注册到DriverManager中,每一种数据库提供的数据库驱动不一样,加载驱动时要把jar包添加到lib文件夹下,下面看一下一些主流数据库的JDBC驱动加裁注册的代码: 
//Oracle8/8i/9iO数据库(thin模式) 
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
//Sql Server7.0/2000数据库   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
//Sql Server2005/2008数据库   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 
//DB2数据库 
Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();  
//MySQL数据库  Class.forName("com.mysql.jdbc.Driver").newInstance(); 
//PostgreSQL数据库 Class.forName("com.postgresql.jdbc.Driver").newInstance();

建立链接   
建立数据库之间的连接是访问数据库的必要条件,就像南水北调调水一样,要想调水首先由把沟通的河流打通。建立连接对于不同数据库也是不一样的,下面看一下一些主流数据库建立数据库连接,取得Connection对象的不同方式:
//Oracle8/8i/9i数据库(thin模式) 
  String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
  String user="scott"; 
  String password="tiger"; 
  Connection conn=DriverManager.getConnection(url,user,password); 

  //Sql Server7.0/2000/2005/2008数据库 
  String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
  String user="sa"; 
  String password=""; 
  Connection conn=DriverManager.getConnection(url,user,password); 

  //DB2数据库 
  String url="jdbc:db2://localhost:5000/sample"; 
  String user="amdin" 
  String password=-""; 
  Connection conn=DriverManager.getConnection(url,user,password); 

//MySQL数据库 
String url="jdbc:mysql://localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312"; 
Connection conn=DriverManager.getConnection(url); 


  //PostgreSQL数据库 
  String url="jdbc:postgresql://localhost:5432/postgres"; 
  String user="postgres" 
  String password="postgres"; 
  Connection conn=DriverManager.getConnection(url,user,password); 

3. 执行SQL语句  
数据库连接建立好之后,接下来就是一些准备工作和执行sql语句了,准备工作要做的就是建立Statement对象PreparedStatement对象,例如:
//建立Statement对象 
Statement stmt=conn.createStatement(); 
//建立PreparedStatement对象 
String sql="select * from user where userName=? and password=?"; 
  PreparedStatement pstmt=Conn.prepareStatement(sql); 
  pstmt.setString(1,"admin"); 
  pstmt.setString(2,"liubin"); 
做好准备工作之后就可以执行sql语句了,执行sql语句:
String sql="select * from users"; 
ResultSet rs=stmt.executeQuery(sql); 
//执行动态SQL查询 
ResultSet rs=pstmt.executeQuery(); 
//执行insert update delete等语句,先定义sql 
stmt.executeUpdate(sql); 

4 处理结果集  
 访问结果记录集ResultSet对象。例如: 
  while(rs.next) 
  { 
  out.println("你的第一个字段内容为:"+rs.getString("Name")); 
  out.println("你的第二个字段内容为:"+rs.getString(2)); 
  } 

 

5 关闭数据库 
依次将ResultSet、Statement、PreparedStatement、Connection对象关     闭,释放所占用的资源.例如: 
  rs.close(); 
  stmt.clost(); 
  pstmt.close(); 
  con.close(); 

 

二:JDBC事务
什么是事务:
首先,说说什么事务。我认为事务,就是一组操作数据库的动作集合。
事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操 作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。
事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示 当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。持 久性表示当系统或介质发生故障时,确保已提交事务的更新不能丢失。持久性通过数据库备份和恢复来保证。
JDBC 事务是用 Connection 对象控制的。JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交。 java.sql.Connection 提供了以下控制事务的方法: 
public void setAutoCommit(boolean) 
public boolean getAutoCommit() 
public void commit() 
public void rollback() 
使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中。JDBC 事务的一个缺点是事务的范围局限于一个数据库连接。一个 JDBC 事务不能跨越多个数据库。

  • 北大青鸟电话
  • 湖南·长沙市岳麓区望城坡望新路334号(汽车西站附近)

    北大青鸟地址

精品IT课程 SERVICEMORE

学士后java工程师课程

北大青鸟java软件开发工程师课程是北大青鸟学士后品牌下的主打课程...
[详细]

学士后.Net工程师课程

北大青鸟.net开发工程师课程采用情景式教学方式,寓教于乐,具有很强的趣味性...
[详细]

ACCP软件工程师课程

ACCP是北大青鸟最经典的一套课程,专门针对18周岁、高中以上学历的人群设计...
[详细]

开班信息 Class InformationMORE

最新班级
课程名称
班级状态
咨询报名
春季特招班
软件工程师
热招
高薪就业班
软件工程师
热招
Accp精英班
软件工程师
热招
Java精英班
学士后Java
热招

长沙市岳麓区大计职业技能培训学校有限公司(支持你成为一个受人尊重的专业人才)

北大青鸟(长沙大计软件学院)(www.csbdqn.com) 是中国IT培训教育(源于北大,师出名门)致力于培养面向软件开发、电商及互联网领域的高端人才,是一家集ACCP软件工程师、网络营销、互联网产品经理、网页设计、Web前端、PHP、 Android、IOS、Java、C/C++等课程为一体的专业培训机构。大计教育与多家企业实体合作,首创“实训教学” 模式,学员在实训课程中,可以直接进入合作企业研发团队,亲自参与项目的运作,真正做到学以致用、学有所成,避免了培训带来的理论与实践脱节的弊端。

咨询电话(08:00-22:00)4008-0731-86 在线客服点击咨询 大计校区官方微信
扫描二维码,即可亲密互动,
更有极致干货等你来拿!
大计校区技术交流群
扫描二维码,即可与各界大神切磋技
术,更多专业老师为你解疑答惑!
24小时免费电话:4008-0731-86
高考 客服 QQ 电话 学费 报名
Top

24小时客服热线

4008-0731-86

0731-82186801

在线咨询问题请点击 在线客服