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);
}