• mybatis基本查询


    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="cn.xdf.wlyy.jxdtest.dao.RoleDao">

    <select id="findById" parameterType="int"
    resultType="cn.xdf.wlyy.jxdtest.po.Role">
    SELECT * from role where id=#{value}
    </select>


    <select id="findByName" parameterType="String"
    resultType="cn.xdf.wlyy.jxdtest.po.Role">
    <!-- 模糊查询的两种方法 -->
    <!-- SELECT * from role where name like '%${value}%'; -->
    SELECT * from role where name like concat(concat('%',#{value}),'%');

    </select>

    <delete id="deleteById" parameterType="int">
    DELETE FROM role WHERE
    id=#{value}
    </delete>


    <insert id="insertRole" parameterType="cn.xdf.wlyy.jxdtest.po.Role">
    INSERT into
    role(name,u_id) VALUES(#{name},#{u_id})
    </insert>

    <update id="updateRole" parameterType="cn.xdf.wlyy.jxdtest.po.Role">
    UPDATE role set
    name=#{name},u_id=#{u_id} where id =#{id}
    </update>

    <!--查询所有 resultMap返回结果 -->
    <resultMap type="cn.xdf.wlyy.jxdtest.po.Role" id="listRoleMap">
    <id property="id" column="id" />
    <id property="name" column="name" />
    <id property="u_id" column="u_id" />
    </resultMap>
    <select id="listRole" resultMap="listRoleMap">
    select r.id,r.name,r.u_id from
    role as r;
    </select>
    <!-- 查询所有 resultType返回结果 -->
    <select id="listRoletype" resultType="cn.xdf.wlyy.jxdtest.po.Role">
    select r.id,r.name,r.u_id
    from role as r;
    </select>

    <!-- 多表联查 -->
    <!-- 关联所需要的列 笛卡尔积 -->
    <resultMap type="cn.xdf.wlyy.jxdtest.po.User" id="getUserMap">
    <id property="id" column="u_id" />
    <result property="name" column="u_name" />
    </resultMap>
    <resultMap type="cn.xdf.wlyy.jxdtest.po.Role" id="userRoleMap">
    <id property="id" column="r_id" />
    <result property="name" column="r_name" />
    <association property="user" javaType="cn.xdf.wlyy.jxdtest.po.User"
    resultMap="getUserMap" />
    </resultMap>
    <select id="getUserRole" resultMap="userRoleMap">
    SELECT r.id r_id,u.id u_id,
    r.name r_name,u.name u_name FROM role as r,user as u where r.u_id=u.id
    </select>


    <!-- 根据参数联查 -->
    <resultMap type="cn.xdf.wlyy.jxdtest.po.Role" id="userRoleMapById">
    <id property="id" column="r_id" />
    <result property="name" column="r_name" />
    <!-- 一对一内嵌如查询 colum指向要映射的一方 -->
    <!-- <association property="user" column="u_id" select="getUser"></association> -->
    <!-- 映射实体一一对应 列名需通过别名映射 负责为空 -->
    <association property="user" javaType="cn.xdf.wlyy.jxdtest.po.User" >
    <id property="id" column="u_id" />
    <result property="name" column="u_name" />
    </association>
    <!-- 一对多实现的两种方式 -->
    <!-- ofType指定集合中的对象类型 -->
    <!-- 不嵌套映射 -->
    <!-- <collection property="users" ofType="cn.xdf.wlyy.jxdtest.po.User">
    映射中的别名必须写别名 <id property="id" column="u_id"/> <result property="name" column="u_name"/>
    </collection> -->

    <!--一对多嵌套方式column指向一的一方(唯一键) -->
    <collection property="users" ofType="cn.xdf.wlyy.jxdtest.po.User"
    column="r_id" select="getUsers"></collection>
    <!--一对多实现的两种方式 -->

    </resultMap>
    <select id="getUserRoleByUid" parameterType="int" resultMap="userRoleMapById">
    <!-- 多对一查询 -->
    <!-- select r.id r_id ,r.name r_name ,u.id u_id,u.name u_name from role
    as r ,user as u where r.u_id=u.id and r.u_id=#{value} -->
    <!-- 一对多查询 -->
    select r.id r_id ,r.name r_name ,u.id u_id,u.name u_name from role as
    r ,user as u where r.id=u.r_id and r.id=#{value}
    </select>

    <!-- 在做单表查询时候 字段为数据表中原有字段 -多对一 -->
    <select id="getUser" parameterType="int" resultType="cn.xdf.wlyy.jxdtest.po.User">
    select id
    ,name from user where id=#{value}
    </select>
    <!-- 一对多查询 -->
    <select id="getUsers" parameterType="int"
    resultType="cn.xdf.wlyy.jxdtest.po.User">
    select id ,name from user where r_id=#{value}
    </select>

    </mapper>

  • 相关阅读:
    7、css基本选择器、层叠样式
    6、表格标签及表单标签
    5、head内常用标签
    4、body内常用符号
    3、HTML简介
    2、HTTP协议
    Mbedtls和Opesnssl 解码x509Certificate
    Django 学习5--DetailView
    Django 学习四--bootstrap
    Django 学习3--CreateView
  • 原文地址:https://www.cnblogs.com/coderdxj/p/6859855.html
Copyright © 2020-2023  润新知