Mybatis-Plus 的简单使用

133 阅读1分钟

mybatis-plus配置

mybatis-plus:
  configuration:
    #日志打印
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  #底层配置了默认的映射路径
  #mapper-locations:  private String[] mapperLocations = new String[]{"classpath*:/mapper/**/*.xml"};

mybatis-plus的一些内部封装的方法

@SpringBootTest
class ItemApplicationTests {
    @Autowired
    OrdersMapper ordersMapper;
    @Test
    void contextLoads() {
        //查询一个list集合
        //SELECT id,ordertime,total,uid FROM orders
        List<Orders> orders = ordersMapper.selectList(null);
        orders.forEach(System.out::println);
    }
    @Test
    void add(){
        //INSERT INTO orders ( id, ordertime, total, uid ) VALUES ( ?, ?, ?, ? )
        Orders orders=new Orders();
        orders.setOrdertime(new Long(66775544));
        orders.setTotal(33.6);
        orders.setUid("009");
        //添加一个对象
        ordersMapper.insert(orders);

        System.out.println(orders.getId());
    }
    @Test
    void delete(){
        //通过id来删除
        //DELETE FROM orders WHERE id=?
//        int rusult = ordersMapper.deleteById(1);
//        System.out.println(rusult);
        //条件删除
        //DELETE FROM orders WHERE total = ? and uid = ?
//        Map<String,Object> map=new HashMap<>();
//        map.put("uid",12);  //uid==12
//        map.put("total",12.9); //total==12.9
//        int i = ordersMapper.deleteByMap(map);
//        System.out.println(i);
//        批量删除
//        DELETE FROM orders WHERE id IN ( ? , ? , ? )
        List<Integer> integers = Arrays.asList(3, 2, 5);
        ordersMapper.deleteBatchIds(integers);
    }
    @Test
    void testUpdate(){

        Orders orders = new Orders();
        orders.setId(8);
        orders.setOrdertime(new Long(12121312));
        orders.setUid("111");
        //修改功能
        //UPDATE orders SET UPDATE orders SET ordertime=?, uid=? WHERE id=?
        int i = ordersMapper.updateById(orders);
        System.out.println(i);
    }

    @Test
    public void testSelect(){
        //查询id为3的订单
        //SELECT id,ordertime,total,uid FROM orders WHERE id=?
//        Orders orders = ordersMapper.selectById(3);
//        System.out.println(orders);
        //查询多个id
        // SELECT id,ordertime,total,uid FROM orders WHERE id IN ( ? , ? , ? )
//        List<Integer> integers = Arrays.asList(5, 7, 8);
//        List<Orders> orders = ordersMapper.selectBatchIds(integers);
//        orders.forEach(System.out::println);
        //条件查询
        //SELECT id,ordertime,total,uid FROM orders WHERE uid = ? AND total = ?
//        Map<String,Object> map=new HashMap<>();
//        map.put("total",33.6);
//        map.put("uid","009");
//        List<Orders> orders = ordersMapper.selectByMap(map);
//        orders.forEach(System.out::println);
        //调用自定义的select语句
        Map<String, Object> stringObjectMap = ordersMapper.selectMapById(9);
        System.out.println(stringObjectMap);
    }
}

自己编写的sql方法

xml放置在resources资源路径的mapper下

<?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.dly.Mapper.OrdersMapper">
    <select id="selectMapById" resultType="map">
        SELECT id,ordertime,total,uid FROM orders where id=#{id}
    </select>
</mapper>
@Mapper
public interface OrdersMapper extends BaseMapper<Orders> {
    Map<String,Object> selectMapById(Integer id);
}