mybatis

 

MyBatis

1.mybatis基础知识

  • jdbc的简单封装;

  • jdbc本质是java源码与sql指令混合的编程模式,导致易出错,难调试;

  • mybatis将java代码与sql指令两分离,便于高效编程开发;

  • ibatis演化而来,商品名为mybatis

  • ORM(object mapping relationship)对象关系映射:JDBC、mybatis、hibernate、jpa

  • 持久化与反持久化

2.mybatis映射文件编写规范

  • 位置:放置maven项目的资源包下mapping/*.xml

  • 命名:与接口名一致

  • 只能有一个mapper根节点,namespace属性为全限定路径的接口名

  • 每个指令对应接口的一个方法

    • 查询---select

    • 添加---insert

    • 修改---update

    • 删除---delete

  • 每条指令的id属性值为接口方法的方法名,由于xml中每个节点的id必须唯一,意味着,该接口的方法名必须不重复(mybatis接口的方法不得重载)

  • 每个指令的resultType 为方法的返回值类型或封装类型

映射注册到配置文件中

image-20220210202007737

映射文件内容应用关系

image-20220210202043136

 mybatis-config.xml:
  <!-- 加载数据库配置参数-->
  <properties resource="db.properties">
     <!-- 将映射文件注册到数据库配置中-->
     <mapper resource="" />
         
 接口名.xml:
        sql片段:(使sql语句中不带*)
        <sql id="自己起与select中相等">
                字段名
        </sql>
        例:
        <sql id="course_colums">
                    cno,
                    cname,
                    tno
              </sql>
              <select id="findCourses" resultType="com.qf.j2112.po.Course">
                    select
                     <include refid="course_colums"></include>
                    from course
              </select>
        位置:
        resources/mapping/
        第一种:没有map映射
             <mapper namespace="接口全类名">
                 
                 <insert>增 语句</insert>
                 <delete>删 语句</delete>
                 <select id="方法名" resultType="返回类型" parameterType="参数类型">增 语句</select>
                注:增删改除了resultType没有 余下相同
                 <update>改 语句</update>
             </mapper>
        第二种:resultMap映射
        <mapper namespace="接口全类名">
                  //映射
                 <resultMap id="自己起名列 teacherMap" type="主表的全类名">
                  <id property="主表主键名" colum="大写"></id>
                     <result property="字段名" colum="大写"/>
                    //关联
                     <association property="关联的表名" column="关联表的外键" javaType="关联表全类名">
                         <id property="关联表主键名" colum="大写"></id>
                         <result property="字段名" colum="大写"/>
                     </association>
                    注:如果是集合的话association改为collection
                 </resultMap>
                 <sql>
                    sql片段
                  </sql>
                 
                  <select>
                      查询语句
                  </select>
             </mapper>
         
       

 

 

posted @   永远的幼稚  阅读(386)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示