一、ORM框架演进
1.为什么要用MyBatis?(为什么要用ORM框架)
A.JDBC连接数据库
//注册jdbc驱动
Class.forName("com.mysql.jdbc.Driver");
//打开连接
conn=DriverManager.getConnection(dbUrl,user,pwd);
//执行查询
stmt=conn.createStatement();
String sql="select id,name,author_id from blog";
ResultSet rs=stmt.executeQuery(sql);
//获取结果集
while(rs.next()){
int bid=rs.getInt("id");
String name=rs.getString("name");
String authorId=rs.getString("author_id");
}
//最后关闭相关流
B.反思
a.如果项目中的业务比较复杂,表非常多,各种操作数据库的增删改查的方法也比较多的话,那么这样的代码会重复出现很多次;(重复代码)
b.在每一段这样的代码中,都需要自己去管理数据库的连接资源,如果忘记关闭资源,就可能造成数据库服务连接耗尽;(资源管理)
c.对于结果集的处理,要把ResultSet转换成POJO时,必须根据字段属性的类型一个个处理;(j结果集处理)
d.处理业务逻辑和处理数据的代码是耦合在一起的。如果业务流程复杂,跟数据库的交互次数多,耦合在代码里的sql语句就会很多。(SQL耦合)