• SpringBoot+Mybatis-Plus


    中文官网:https://mp.baomidou.com/

    Mapper CRUD 接口

    /**
     * <p>
     * 插入一条记录
     * </p>
     *
     * @param entity 实体对象
     * @return 插入成功记录数
     */
    int insert(T entity);
    //示例
     @Test
        public void testInsert(){
            System.out.println(("----- insert method test ------"));
            User user = new User();
            user.setName("留言");
            user.setAge(30);
            user.setEmail("1515@163.com");
            int cout = userMapper.insert(user);
            System.out.println(cout);
        }
    /**
     * <p>
     * 根据 ID 删除
     * </p>
     *
     * @param id 主键ID
     * @return 删除成功记录数
     */
    int deleteById(Serializable id);
    //示例
       @Test
        public void deleteById(){
             userMapper.deleteById(2);
        }
    /**
     * <p>
     * 根据 columnMap 条件,删除记录
     * </p>
     *
     * @param columnMap 表字段 map 对象
     * @return 删除成功记录数
     */
    int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
    //示例
       @Test
        public void deleteByMap(){
            Map<String,Object> usreMap = new HashMap<>();
            usreMap.put("age","18");
            int cout = userMapper.deleteByMap(usreMap);
            log.info(""+cout);
        }
    /**
     * <p>
     * 根据 entity 条件,删除记录
     * </p>
     *
     * @param wrapper 实体对象封装操作类(可以为 null)
     * @return 删除成功记录数
     */
    int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
    示例:https://blog.csdn.net/m0_37034294/article/details/82917234
    /**
     * <p>
     * 删除(根据ID 批量删除)
     * </p>
     *
     * @param idList 主键ID列表(不能为 null 以及 empty)
     * @return 删除成功记录数
     */
    int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
    //示例
       @Test
        public void deleteBatchIds(){
            List<Integer> list = new ArrayList<>();
            list.add(3);
            list.add(4);
            int cout = userMapper.deleteBatchIds(list);
            log.info(""+cout);
        }
    /**
     * <p>
     * 根据 ID 修改
     * </p>
     *
     * @param entity 实体对象
     * @return 修改成功记录数
     */
    int updateById(@Param(Constants.ENTITY) T entity);
    //示例
        @Test
        public void updateById(){
            User user = new User();
            user.setId(7L);
            user.setName("留言");
            user.setAge(30);
            user.setEmail("1515@163.com");
            int cout = userMapper.updateById(user);
            log.info(""+cout);
        }
    /**
     * <p>
     * 根据 whereEntity 条件,更新记录
     * </p>
     *
     * @param entity        实体对象 (set 条件值,可为 null)
     * @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
     * @return 修改成功记录数
     */
    int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);

    示例:https://blog.csdn.net/m0_37034294/article/details/82917234
    /**
     * <p>
     * 根据 ID 查询
     * </p>
     *
     * @param id 主键ID
     * @return 实体
     */
    T selectById(Serializable id);
    //示例
       @Test
        public void selectById(){
            User user = userMapper.selectById(6);
            log.info(""+user.toString());
        }
    /**
     * <p>
     * 查询(根据ID 批量查询)
     * </p>
     *
     * @param idList 主键ID列表(不能为 null 以及 empty)
     * @return 实体集合
     */
    List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
    //示例
        @Test
        public void selectBatchIds(){
            List<Integer> list = new ArrayList<>();
            list.add(5);
            list.add(6);
            List<User> users = userMapper.selectBatchIds(list);
            for (User user:users) {
                log.info(""+user.toString());
            }
        }
    /**
     * <p>
     * 根据 entity 条件,查询一条记录
     * </p>
     *
     * @param queryWrapper 实体对象
     * @return 实体
     */
    T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    //示例
        @Test
        public void selectOne(){
            QueryWrapper<User> ueryWrapper = new QueryWrapper<>();
            ueryWrapper.eq("id","6");
            User user = userMapper.selectOne(ueryWrapper);
            log.info(""+user.toString());
        }
    示例:https://blog.csdn.net/m0_37034294/article/details/82917234
    /**
     * <p>
     * 根据 Wrapper 条件,查询总记录数
     * </p>
     *
     * @param queryWrapper 实体对象
     * @return 满足条件记录数
     */
    Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    //示例
       @Test
        public void selectCount(){
            QueryWrapper<User> ueryWrapper = new QueryWrapper<>();
            ueryWrapper.like("age","%3%");
            int count = userMapper.selectCount(ueryWrapper);
            log.info(""+count);
        }
    /**
     * <p>
     * 根据 entity 条件,查询全部记录
     * </p>
     *
     * @param queryWrapper 实体对象封装操作类(可以为 null)
     * @return 实体集合
     */
    List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);   
    //示例
       @Test
        public void selectList(){
            QueryWrapper<User> ueryWrapper = new QueryWrapper<>();
            ueryWrapper.like("age","%3%");
            List<User> users = userMapper.selectList(ueryWrapper);
            for (User user:users) {
                log.info(""+user.toString());
            }
        }
    示例:https://blog.csdn.net/m0_37034294/article/details/82917234
    /**
     * <p>
     * 根据 Wrapper 条件,查询全部记录
     * </p>
     *
     * @param queryWrapper 实体对象封装操作类(可以为 null)
     * @return 字段映射对象 Map 集合
     */
    List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    //示例
        @Test
        public void selectMaps(){
            QueryWrapper<User> ueryWrapper = new QueryWrapper<>();
            List<Map<String, Object>> users = userMapper.selectMaps(ueryWrapper);
            for (Map<String, Object> map:users){
                System.out.println(map);
            }
        }
    示例:https://blog.csdn.net/m0_37034294/article/details/82917234
    /**
     * <p>
     * 根据 entity 条件,查询全部记录(并翻页)
     * </p>
     *
     * @param page         分页查询条件(可以为 RowBounds.DEFAULT)
     * @param queryWrapper 实体对象封装操作类(可以为 null)
     * @return 实体分页对象
     */
    IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
    /**
     * <p>
     * 根据 Wrapper 条件,查询全部记录(并翻页)
     * </p>
     *
     * @param page         分页查询条件
     * @param queryWrapper 实体对象封装操作类
     * @return 字段映射对象 Map 分页对象
     */
    IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.2.0</version>
            </dependency>
    //实体类 package com.example.mybatisplusdemo.pojo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName(value = "user") public class User { @TableId(value = "id",type = IdType.AUTO) private Long id; @TableField(value = "name") private String name; @TableField(value = "age") private Integer age; @TableField(value = "email") private String email; @TableField(value = "time",exist = false) private String time; }

    //接口类
    package com.example.mybatisplusdemo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.mybatisplusdemo.pojo.User; public interface UserMapper extends BaseMapper<User> {}


    //测试类
    package com.example.mybatisplusdemo.test; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.example.mybatisplusdemo.mapper.UserMapper; import com.example.mybatisplusdemo.pojo.User; import lombok.extern.java.Log; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Log @RunWith(SpringRunner.class) @SpringBootTest public class SampleTest { @Autowired private UserMapper userMapper; @Test public void testSelect(){ System.out.println(("----- selectAll method test ------")); List<User> userList = userMapper.selectList(null); for (User user:userList) { log.info(user.toString()); } } @Test public void testInsert(){ System.out.println(("----- insert method test ------")); User user = new User(); user.setName("留言"); user.setAge(30); user.setEmail("1515@163.com"); int cout = userMapper.insert(user); System.out.println(cout); } @Test public void deleteById(){ userMapper.deleteById(2); } @Test public void deleteByMap(){ Map<String,Object> usreMap = new HashMap<>(); usreMap.put("age","18"); int cout = userMapper.deleteByMap(usreMap); } @Test public void delete(){ QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name","%言%"); int cout = userMapper.delete(queryWrapper); log.info(""+cout); } @Test public void deleteBatchIds(){ List<Integer> list = new ArrayList<>(); list.add(3); list.add(4); int cout = userMapper.deleteBatchIds(list); log.info(""+cout); } @Test public void updateById(){ User user = new User(); user.setId(7L); user.setName("留言"); user.setAge(30); user.setEmail("1515@163.com"); int cout = userMapper.updateById(user); log.info(""+cout); } @Test public void update(){ User user = new User(); user.setName("留言"); user.setAge(30); user.setEmail("1515@163.com"); UpdateWrapper<User> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id","6"); int cout = userMapper.update(user,updateWrapper); log.info(""+cout); } @Test public void selectById(){ User user = userMapper.selectById(6); log.info(""+user.toString()); } @Test public void selectBatchIds(){ List<Integer> list = new ArrayList<>(); list.add(5); list.add(6); List<User> users = userMapper.selectBatchIds(list); for (User user:users) { log.info(""+user.toString()); } } @Test public void selectOne(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); ueryWrapper.eq("id","6"); User user = userMapper.selectOne(ueryWrapper); log.info(""+user.toString()); } @Test public void selectCount(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); ueryWrapper.like("age","%3%"); int count = userMapper.selectCount(ueryWrapper); log.info(""+count); } @Test public void selectList(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); ueryWrapper.like("age","%3%"); List<User> users = userMapper.selectList(ueryWrapper); for (User user:users) { log.info(""+user.toString()); } } @Test public void selectMaps(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); List<Map<String, Object>> users = userMapper.selectMaps(ueryWrapper); for (Map<String, Object> map:users){ System.out.println(map); } } @Test public void selectObjs(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); List<Object> users = userMapper.selectObjs(ueryWrapper); for (Object user:users){ log.info(user.toString()); } } @Test public void selectPage(){ QueryWrapper<User> ueryWrapper = new QueryWrapper<>(); Page<User> userPage= new Page<>(1,1); List<User> users = userMapper.selectPage(userPage,ueryWrapper).getRecords(); for (User user:users){ log.info(user.toString()); } } }
  • 相关阅读:
    跨域访问(nginx)
    mybatis中<set>标签和<trim prefix="set" suffixOverrides=",">
    如何在Oracle中复制表结构和表数据
    Oracle删除重复数据
    Oracle中删除表
    Oracle中on和where的区别
    Java实体类中的类型对应mybatis的jdbcType
    Java 枚举(enum) 常见用法
    关于JS 事件冒泡和onclick,click,on()事件触发顺序
    浅析 SpringMVC 的@PathVariable 和 @RequestParam 和 @RequestBody注解
  • 原文地址:https://www.cnblogs.com/BoKe-LY/p/11911187.html
Copyright © 2020-2023  润新知