一、对原生jdbc编程中的问题分析
1、频繁的进行数据库连接的打开和关闭,将造成数据库的资源浪费,降低数据库的性能。
2、将sql语句硬编码到代码中,每次修改后,需要重新编译,不利于系统维护。
3、向PreparedStatemen 中设置参数,需要将占位符和参数硬编码到代码中
string sql = "select * from user where username = ?"; PreparedStatement preparedStatement = conn.PreparedStatement(sql); preparedStatement.setString(1,"zhangsan");
4、遍历ResultSet结果集,遍历数据表中的字段,也存在硬编码现象。
ResultSet rs = preparedstement.executeNonQuery(); while(rs.next()){ rs.getString("id") + rs.getString("name"); }
设想:为了解决上面的问题,可以通过配置文件解决,利用连接池解决频繁的打开和关闭数据库,将查询返回的结果集直接映射成java对象。
二、MyBatis框架原理
Mybatis可以自动将sql语句中的参数自动映射,将查询到的结果集自动映射为java对象。