Mybatis原理

原生JDBC连接数据库:

public class test {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //获取链接
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/test", "root", "1234");
    //获取statement
    PreparedStatement statement = connection.prepareStatement("select id from user");
    //执行 ResultSet 
    resultSet = statement.executeQuery();
    //遍历结果集
    while(resultSet.next()){
    }     
//释放资源     resultSet.close();     statement.close();     connection.close();   } }

 

缺点:

原始jdbc开发存在的问题如下:
1.数据库创建及频繁释放造成系统资源浪费
2.sql语句在代码中硬编码,实际运用中sql的变化较大,sql变动需要改变java代码
3.查询操作,需要手动将结果集里的数据封装到实体中,插入操作时,需要手动将实体的数据设置到sql语句的占位符

MyBatis的解决方案:

1.使用数据库连接池技术
2.使用xml配置的方式配置sql语句
3.使用反射内省的技术自动将实体和表进行属性与字段的自动映射

 

posted @ 2021-09-10 18:00  忙碌了一整天的L师傅  阅读(16)  评论(0编辑  收藏  举报