JDBC连接数据库的步骤以及Dao的建立

本文详细介绍了如何使用JDBC进行数据库操作,并通过DAO模式实现代码的模块化和复用,包括加载数据库驱动、连接数据库、预编译SQL语句、执行SQL语句、获取结果及资源释放等步骤。

JDBC

:使用我们的应用程序去访问数据库中的数据;
JDBC访问数据库的过程
1.加载数据库驱动
2.连接数据库文件(DB)
3.预编译SQL语句对象
4.执行SQL语句
5.获取返回结果
6.释放资源

DAO

:数据库访问对象,就是将数据库语句的执行操作单独的封装起来,不要和其他元素发生关系,使之形成单独的模块,便于重复利用。

注意点:一条sql语句对应一个Dao方法,同时Dao方法中不要有任意除数据库操作之外的其他元素(比如界面)

Dao类的命名规则:操作对象+Dao(比如:要实现用户增删改查则命名为:UserDao)

如果要进行dao的封装的话,最好先写一个类(DbUtil),把JDBC连接数据库的前两步进行打包,方便其他dao方法进调用。
代码如下:
public class DbUtil {

private  static DbUtil dbUtil;
private  Connection  con;
public static  DbUtil getDbUtil(){
	if(dbUtil==null){
		dbUtil=new DbUtil();
	}
	return dbUtil;
}

private  DbUtil() {
	//希望它只执行一次的语句
	try {
		Class.forName("org.sqlite.JDBC");
		 con = DriverManager.getConnection("jdbc:sqlite:CloudData.db");
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

public void realse(PreparedStatement pre,ResultSet set){
	try {
		if(pre!=null){
		pre.close();
	} 
		if(set!=null){
			set.close();
		}
	}catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

public Connection getCon() {
	return con;
}
public void setCon(Connection con) {
	this.con = con;
}

}

再举一个例子来看看dao方法怎么写:

public boolean insert(String name, String pass) {
String sql=" INSERT INTO t_user VALUES (?,?,?)";
PreparedStatement pre=null;
try {
Connection con=DbUtil.getDbUtil().getCon();
pre=con.prepareStatement(sql);
pre.setString(1,null);
pre.setString(2,name);
pre.setString(3,pass);
int add=pre.executeUpdate();
//注意这句话如果是查询的话换成pre.executeQuery(),返回一个结果集
if(add>0){
return true;
}
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}finally{
DbUtil.getDbUtil().realse(pre, null);
}
return false;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值