一、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耦合)