一.提取开关数据库功能,定义一个类BaoDao
public class BaoDao
{
//相当于C#中Connection对象不变
public Connection connection = null;
//相当于C#中Command命令对象
public Statement statement = null;
//相当于C#中DataRead对象
public ResultSet resultset =null;
//定义打开数据库办法
public class Open(String name,String url,String user,String
pwd)
{
try{
//加载驱动包
Class.forName(name);
//获得连接字符和用户密码
connection = DriverMaanger.getConnection(url,user,pwd);
}catch(Exception e){
System.out.println("找不到驱动程序类或者数据库连接失败,加载驱动失败);
e.printStackTrace();
}
}
//定义关闭数据库连接办法
public class close()
{
try{
//判断结果集是否为空,不为空关闭并初始化
if(resultSet != null)
{
resultSet.close();
resultSet = null;
}
//判断命令对象是否为空,不为空关闭并初始化
if(statement != null)
{
statement.close();
statement = null;
}
//判断接连对象是否为空,不为空关闭并初始化
if(connection != null)
{
connection.close();
connection = null;
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
【注意】:关闭连接的时候必须按顺序关闭
二.定义接口来实现增删改查
interface IBook
{
//查询办法
void select(String name,String url);
//增删改办法
void DDI(String name,String url,String sql);
}
三.定义子类来实现增删改查
public class book extends BaoDao implements IBook
{
//实现查询
public void select(String name,String url,String user,String
pwd,String sql)
{
try{
//打开数据库连接
open(name,url,user,pwd);
//创建命令对象
statement = connection.createStatement();
//执行查询语句
resultSet = Statement.execute.Query(sql);
//遍历输入结果集
while(resultSet.next())
{
System.out.println(String.Format("%d,%s,%s,%.2f",resultSet.getInt("id")
,resultSet.getString("title") ,result.getString("author")
,result.getFloat("price")))
}
}catch(Exception e){
e.printStackTrace();
}finally{
close();
}
}
//同时可以实现改增删功能
public int DDI(String name,String url,String sql)
{
int result = 0;
try{
//打开数据库连接
open(name,url);
//创建命令对象
statement = connection.createStatement();
//执行查询语句
result = Statement.execute.qudate(sql);