赞
踩
之前我们讲过了mybatis的sql语句是由我们手动编写的,但是我们的mybatis逆向工程生成的xxMapper.xml中会自动生成一部分动态的sql
什么叫做动态SQL?
根据用户提供的参数,动态决定查询语句依赖的查询条件或SQL语句的内容。
这篇博客主要讲述mybatis的动态SQL以及其中的分页。
首先我们根据service类创建一个测试类
勾上setUp和tearDown,再选勾上自己要测试的方法
将测试类准备好:
package com.zengjing.service;
import com.zengjing.mapper.BookMapper;
import com.zengjing.model.Book;
import com.zengjing.service.impl.BookServiceImpl;
import com.zengjing.util.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* @author zengjing
* @site https://blog.csdn.net/JiangHu_Java
* @create 2020-10-21 14:38
*/
public class IBookServiceTest {
private IBookService bookService;
private SqlSession sqlSession;
@Test
public void deleteByPrimaryKey() {
this.bookService.deleteByPrimaryKey(12);
}
@Test
public void updateByPrimaryKey() {
Book book=new Book();
book.setBookId(12);
book.setBookName("新神雕侠侣5555");
book.setBookPrice((float) 38);
book.setBookBrief("略ovo");
this.bookService.updateByPrimaryKey(book);
}
@Test
public void insert() {
Book book=new Book();
book.setBookId(13);
book.setBookName("测试1");
book.setBookPrice((float) 14);
book.setBookBrief("略");
this.bookService.insert(book);
}
@Test
public void selectByPrimaryKey() {
Book book = this.bookService.selectByPrimaryKey(1);
System.out.println(book);
}
@Before
public void setUp() throws Exception {
BookServiceImpl bookService=new BookServiceImpl();
sqlSession = SessionUtil.openSession();
BookMapper mapper = sqlSession.getMapper(BookMapper.class);
bookService.setBookMapper(mapper);
this.bookService=bookService;
}
@After
public void tearDown() throws Exception {
sqlSession.commit();
sqlSession.close();
}
}
再看看生成的xxMapper.xml中自动生成的动态sql:
<?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.zengjing.mapper.BookMapper" >
<resultMap id="BaseResultMap" type="com.zengjing.model.Book" >
<constructor >
<idArg column="book_id" jdbcType="INTEGER" javaType="java.lang.Integer" />
<arg column="book_name" jdbcType="VARCHAR" javaType="java.lang.String" />
<arg column="book_price" jdbcType=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。