mybatis之动态sql和分页

本文详细介绍了mybatis动态SQL的使用,包括模糊查询的三种方式,并展示了查询结果集的不同处理方法。此外,还阐述了mybatis的分页查询步骤,包括POM依赖的导入、拦截器配置以及PageHelper的使用。最后提到了特殊字符处理的相关内容。
摘要由CSDN通过智能技术生成
课程目标

mybatis动态sql
模糊查询
查询返回结果集的处理(
)
分页查询()
特殊字符处理

mybatis动态sql(通过foreach标题)
上代码上流程(后面不重复说)
BookMapper.java
写接口

package com.pyc.mapper;

import com.pyc.model.Book;
import com.pyc.model.BookVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface BookMapper {
    int deleteByPrimaryKey(Integer bid);

    int insert(Book record);

    int insertSelective(Book record);

    Book selectByPrimaryKey(Integer bid);

    int updateByPrimaryKeySelective(Book record);

    int updateByPrimaryKey(Book record);

    List<Book> selectBooksIn(@Param("bookIds") List bookIds);

    List<Book> selectBooksLike1(@Param("bname")String bname);
    List<Book> selectBooksLike2(@Param("bname")String bname);
    List<Book> selectBooksLike3(@Param("bname")String bname);


    List<Book> list1();
    List<Book> list2();
    List<Book> list3(BookVo bookVo);
    List<Map> list4();
    Map list5(Map map);

    List<Map> listPager(Map map);

    List<Book> list6(BookVo bookVo);
}

BookMapper.xml

<?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="com.pyc.mapper.BookMapper" >
  <resultMap id="BaseResultMap" type="com.pyc.model.Book" >
    <constructor >
      <idArg column="bid" jdbcType="INTEGER" javaType="java.lang.Integer" />
      <arg column="bname" jdbcType="VARCHAR" javaType="java.lang.String" />
      <arg column="price" jdbcType="REAL" javaType="java.lang.Float" />
    </constructor>
  </resultMap>
  <sql id="Base_Column_List" >
    bid, bname, price
  </sql>

  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select
    <include refid="Base_Column_List" />
    from t_mvc_book
    where bid = #{bid,jdbcType=INTEGER}
  </select>

  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from t_mvc_book
    where bid = #{bid,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.pyc.model.Book" >
    insert into t_mvc_book (bid, bname, price
      )
    values (#{bid,jdbcType=INTEGER}, #{bname,jdbcType=VARCHAR}, #{price,jdbcType=REAL}
      )
  </insert>
  <insert id="insertSelective" parameterType="com.pyc.model.Book" >
    insert into t_mvc_book
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="bid != null" >
        bid,
      </if>
      <if test="bname != null" >
        bname,
      </if>
      <if test="price != null" >
        price,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="bid != null" >
        #{bid,jdbcType=INTEGER},
      </if>
      <if test="bname != null" >
        #{bname,jdbcType=VARCHAR},
      </if>
      <if test="price != null" >
        #{price,jdbcType=REAL},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="com.pyc.model.Book" >
    update t_mvc_book
    <set >
      <if test="bname != null" >
        bname = #{bname,jdbcType=VARCHAR},
      </if>
      <if test="price != null" >
        price = #{price,jdbcType=REAL},
      </if>
    </set>
    where bid = #{bid,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="com.pyc.model.Book" >
    update t_mvc_book
    set bname = #{bname,jdbcType=VARCHAR},
      price = #{price,jdbcType=REAL}
    where bid = #{bid,jdbcType=INTEGER}
  </update>

  <!--讲解foreach标签-->
  <select id="selectBooksIn" resultType="com.pyc.model.Book">
    select * from t_mvc_book where bid in
    <foreach collection="bookIds" item="bid"  open="(" close= ")" separator=",">
      #{bid}
    </foreach>

  </select>

  <select id="selectBooksLike1" resultType="com.pyc.model.Book">
    select * from t_mvc_book
    <where>
      bname like '${bname}'
    </where>
  </select>

  <select id="selectBooksLike2" resultType="com.pyc.model.Book" parameterType="java.lang.String">
    select * from t_mvc_book
    <where>
      bname like '${bname}'
    </where>
  </select>

  <select id="selectBooksLike3" resultType="com.pyc.model.Book" parameterType="java.lang.String">
    select * from t_mvc_book

    <where>
      bname like concat(concat('%',#{bname}),'%')
    </where>

  </select>

  <select id="list1" resultMap="BaseResultMap">
    select  * from  t_mvc_book
  </select>

  <select id="list2" resultType="com.pyc.model.Book">
     select
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值