jdbc编程过程以及存在的一些问题

1.jdbc编程过程:
加载数据库驱动
获取connection
创建statement
设置SQL语句
占位符设置值
sql执行,并且返回结果
对SQL结果进行解析
释放资源

//查询所有
	public List<Phone> getSelectAll(){
		Connection conn=null;
		PreparedStatement pst=null;
		ResultSet rs=null;
		List<Phone> list=new ArrayList<Phone>();
		try {
			conn = DBUtil.getConn();
			String sql = "select * from phone";
			pst = conn.prepareStatement(sql);
			rs = pst.executeQuery();
			while(rs.next()){
			Phone po = new Phone();
			po.setName(rs.getString("name"));
			po.setSex(rs.getString("sex"));
			po.setAge(rs.getInt("age"));
			po.setPhone(rs.getString("phone"));
			po.setQq(rs.getString("qq"));
			po.setAddress(rs.getString("address"));
			list.add(po);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBUtil.connClose(rs, pst, conn);
		}
		return list;
	}

2.存在的一些问题:
1.加载驱动、获取连接、释放资源等过与频繁,影响性能而且是资源浪费
数据库连接池c3p0.
2.sql语句存在硬编码问题,造成不易维护。
3.对结果集的封装也存在硬编码问题
4.statement对象的SQL设置参数、也存在硬编码问题,造成代码不易维护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值