zoukankan      html  css  js  c++  java
  • MyBatis 学习总结(1)

      MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架,几乎消除了所有的 JDBC 代码和参数的手工设置以及结果集的处理,通过XML(sqlMapConfig)或注解配置数据源和原始映射,MyBatis通过SqlSession连接和操作数据源

    SqlSession的获得

      1、获取数据源

        String resource = "sqlMapConfig.xml" //sqlMapConfig.xml是Mybatis的核心文件,可以配置数据源 和 映射的Mapper.xml文件的地址

        InputStream inputStream = Resources.getResourceAsStream(ressource); //通过数据源获取输入流

      2、获取SqlSession

        SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuild().Bulid(inputStream);

        SqlSession sqlSession = sqlSessionFactory.openSession();

    操作数据

      sqlSession.select("namespace.id",[参数])

      sqlSession.selectList("namespace.id",[]);

      sqlSession.insert("namespace.id", [参数]); sqlSession.commit();//默认是不自动提交,必须手工提交;不提交,不会得到更新

      sqlSession.update("namespace.id", [参数]); sqlSession.commit();//同上

      sqlSession.delete("namespace.id", [参数]); sqlSession.commit();//同上

    映射文件 Mapper.xml 的总结:

    ① 设置 namespace 命名空间,目的是为了区分映射文件中的方法;

    ② 结果集 resultMap 是 MyBatis 最大的特色,对象的 ORM 就由其来转换:

    • 在结果集中,包括主键 id 和 普通属性 result;
    • 在结果集中,常用的两个属性分别为:property,表示实体的属性;column,表示 SQL 查询的结果集的列。

    ③ 在映射文件中,常用的标签有四个,分别为: select、insert、update 和 delete:

    • 每个标签中都有 id 属性,在同一个 mapper 文件中 id 不允许重复;
    • 参数 parameterMap 已经被废弃,现在其存在的目的就是为了兼容前期的项目;现在用Map或者包装值对象来设置复杂参数
    • 参数 parameterType 支持很多的类型,例如 int、Integer、String、Double、List、Map 或者实体对象等;
    • 返回值 resultType 用于简单的类型;
    • 返回值 resultMap 用于复杂的类型;
    • 当参数和返回值是集合的时候,其声明的是集合中的元素类型;
    • SQL 语句不区分大小写,它默认使用 PrepareStatement,预编译,可以防止 SQL 注入。

    赋别名

    在 Mapper.xml 文件中可以简写调用别名,例如:

    <insert id="insert" parameterType="Person"><!-- 赋别名 -->
    当然,提前需要我们在 sqlMapConfig.xml 中先定义别名,在这里,特别需要注意标签的顺序,如果标签的顺序出错,程序就会报错: 
    <typeAliases>
            <typeAlias type="yeepay.payplus.Person" alias="Person"/>
    </typeAliases>
  • 相关阅读:
    Linux下基于PAM机制的USB Key的制作
    IP-route管理路由
    Linux下CPU主板监控工具lm_sensors
    两个网卡隔离方法
    关机后内存的数据是怎么丢失的呢?
    6.0 移动端页面布局
    CyberPlayer 使用教程
    5.10 HTML5 音频和视频
    让Ecshop网店系统用户自动登陆
    設定 Bootstrap/SASS/Bower/gulp (Windows平台)
  • 原文地址:https://www.cnblogs.com/lhblogs/p/7473971.html
Copyright © 2011-2022 走看看