转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html
学习Java开发,一个必须掌握的知识点,就是数据库操作。当程序需要用到的数据达到一定程度时,就不能简单地用本地文件来储存了,而是借助数据库。
目前,用的最多的数据库有MySql,Oracle等,Java编程中连接、使用不同数据库的操作都是大同小异的,这里以MySql数据库为例。
JDBC编程其实不难,有一个固定的使用套路:
1) 加载 Driver 驱动:Class.forName("com.mysql.jdbc.Driver");
2) 创建数据库连接对象,登录到数据库: Connection conn=DriverManager.getConnection("jdbc:mysql://...(地址,端口),"数据库用户名","数据库密码");
3) 创建一个可向数据库发送 SQL 命令并返回结果的传送对象:Statement statement=conn.createStatement();
4) 创建SQL命令并执行:String sql="sql命令语句"; statement.executeUpdate(sql);resultset=statement.executeQuery(sql);
5) 如果是执行查询类命令,会有结果集返回,处理结果集获取每一条记录的具体属性的具体数据:
while(resultset.next()){int/double/String a=resultset.getInt/Double/String("属性名");}
注意:结果集是一个表,第一行是属性名,第二行开始才是具体的数据,所以首先要通过resultset.next()把游标移动到第二行,看有没有数据,有则进行提取。
6)关闭结果集:resultset.close();
7) 关闭对应的 Statement 对象:statement.close();
8) 关闭连接对象 Connection:conn.close();
应用到代码实例:
public String doLogin(String code_input,int password_input) { Connection conn=null; Statement stmt=null; ResultSet rs=null; try{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bank","root","123456"); stmt=conn.createStatement(); String sql="select * from account where code = '"+code_input+"' and password = "+password_input; rs=stmt.executeQuery(sql); if(rs.next()) { return code_input; }else{ return "-1"; } }catch(Exception ex) { ex.printStackTrace(); return "-1"; }finally { if(rs!=null) { try{ rs.close(); }catch(Exception ex) { ex.printStackTrace(); } } if(stmt!=null) { try{ stmt.close(); }catch(Exception ex) { ex.printStackTrace(); } } if(conn!=null) { try{ conn.close(); }catch(Exception ex) { ex.printStackTrace(); } } } }