转载请注明原文地址: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();
}
}
}
}