jdbc的不足,衍生出持久层框架

正因为jdbc的不足,后期才出现了很多持久层的框架,但是这些框架都是对jdbc进行了封装,然后规避或者解决了jdbc的不足,mybatis只不过是,很多持久层框架的一种,下面我们来看一下jdbc的不足吧

jdbc操作数据库代码

try {
	Class.forName("com.mysql.jdbc.Driver");
	//获取连接对象
	Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/testjdbc","root","mysql");
	//创建sql命令
	String sql="select * from t_user where userName=? and pwd=?";
	//创建sql命令对象
	PreparedStatement ps=conn.prepareStatement(sql);
	//给占位符赋值
	ps.setString(1, uname);
	ps.setString(2, pwd);
	//执行
	ResultSet rs=ps.executeQuery();
	//遍历结果
	while (rs.next()) {
		users=new Users();
		users.setId(rs.getInt("id"));
		users.setName(rs.getNString("userName"));
		users.setPwd(rs.getNString("pwd"));
		users.setTime(rs.getTimestamp("regTime"));				
		}
	//关闭		
	} catch (Exception e) {
		e.printStackTrace();
	}finally{
		try {
			rs.close();
			ps.close();
			conn.close();
		}catch (SQLException e) {
			e.printStackTrace();
		}
	}				
}

不足与解决方案

1.数据库配置信息硬编码问题 解决方案:使用配置文件
2.频繁创建/释放数据库连接 解决方案:采用连接池
3.sql语句,设置参数,以及结果集参数都存在硬编码 解决方案:使用配置文件
4.遍历结果集,需要手动封装返回结果对象 解决方案:使用反射/内省技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值