简介

作者: itachi | 来源:发表于2017-02-07 09:37 被阅读18次

    什么是mybatis

    mybatis是对jdbc技术的封装,简化数据库操作代码。

    封装以下功能:
    --封装了建立连接,设置参数,执行sql,释放连接的过程。
    (提供连接参数,sql,sql的参数)

    --封装了查询结果映射成实体对象的过程
    (实体类属性名和数据表字段名最好要保持一致)
    Emp emp = new Emp( );
    emp.setName(rs.getString("name"));

    findById --> Emp --> sqlSession.selectOne( );
    findAll --> List<Emp> sqlSession.selectList( );

    --封装了Sql语句中参数设置的过程(提供sql时,参数想给sql映射,利用#{属性名}替代?)
    insert into Emp values(#{属性名},?,?)
    ps = conn.preparedStatement(sql);
    ps.setString(1,"tom");

    开发者使用需要做以下工作
    --搭建MyBatis框架环境
    --根据数据表定义实体类(名称一致)
    --根据操作写sql语句
    --利用sqlSession调用操作

    MyBatis的结构
    MyBatis使用涉及哪些文件
    --SqlMapConfig.xml(主配置文件):定义了连接参数,框架参数,加载sql文件
    --Sql映射文件(定义sql语句的xml文件)

    MyBatis的基本应用
    使用sqlsession实现CRUD
    sqlSession.selectOne( );
    sqlSession.selectList( );
    sqlSession.insert( );
    sqlSession.update( );
    sqlSession.delete( );

    Mapper映射器(映射sql操作)
    本质:是一个接口规则,如果按照这套规则,定义接口,MyBatis可以根据接口动态生成接口的
    实现组件(dao),这样就可以不需要自己写实现类了。
    a、sql定义文件里namespace属性指定接口名"包名.接口名"
    b、接口定义规则
    --方法名需要与Sql定义中的id名称一致
    --参数类型与Sql中的paramterType属性一致
    --结果映射类型参考resultType属性,类型匹配
    如果单行结果,就采用resultType定义类型
    如果是多行结果,采用List<resultType>定义类型

    使用resultMap等价与resultType,二者选一
    不同点:resultMap 开发者可以自定义字段和属性名的对应关系
    resultType 是默认字段名和属性名一致
    resultMap主要是用来解决字段和属性名不一致的问题

    相关文章

      网友评论

          本文标题:简介

          本文链接:https://www.haomeiwen.com/subject/zelpittx.html