1. 控制层下通过 注解 的方式 整合mybaits 编写处理逻辑和前端返回数据
@RequestMapping("/air/findAll")
public List findAll(){
List<User> users = userMapper.selectAllAirById();
users.forEach(System.out::println);
List<User> users2 = new ArrayList<>();
users.forEach(user -> {
if(user.getAir()!=null){
users2.add(user);
}
});
return users2;
}
@RequestMapping("/User/findAll")
public List findAll1(){
List<air> airs = airMapper2.selectAllUserById();
List<air> airs2 = new ArrayList<>();
airs.forEach(air -> {
if(air.getUser()!=null){
airs2.add(air);
}
});
return airs2;
}
2, Mapper层下 做 相应类和sql语句的映射
查询的sql字段对应类的属性值 从而完成映射连接
说明 ;接口继承的BaseMapper可实现 Mybatisplus的作用 。
package com.example.springboot1.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springboot1.pojo.User;
import com.example.springboot1.pojo.air;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper // 运行时 实现类对象 (动态代理对象)
public interface AirMapper extends BaseMapper<air> {
@Select("select * from airinfro where Id=#{id}")
public air selectById(String id);
@Select("select * from airinfro")
@Results({
@Result(column = "id",property = "id"),
@Result(column = "planeName",property = "planeName"),
@Result(column = "ran",property = "ran"),
@Result(column = "id",property = "user",javaType = User.class , // 指定映射关系 id => user
one=@One(select = "com.example.springboot1.Mapper.UserMapper.selectByAirId") //
)
})
List<air> selectAllUserById();
// 查询全部用户信息
// 配置sql提示
@Select("select * from airinfro")
public List<air> list();
@Delete("delete from airinfro where id=#{id}")
public int delete(String id);
@Select("select * from airinfro where id=#{id}")
public air query(String id);
@Insert("insert into airinfro values(#{id},#{planeName},#{ran})")
public int insert(air air);
@Update("update airinfro set id=#{id} ,planeName=#{planeName},ran=#{ran} where id=#{UPid}")
public int update(String id,String planeName,String ran,String UPid);
}
package com.example.springboot1.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springboot1.pojo.User;
import com.example.springboot1.pojo.air;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 配置sql提示
@Select("select * from clentinf")
public List<air> list();
@Select("select * from clentinf where airId=#{airId}")
public User selectByAirId(String airId); // 选择
@Select("select * from clentinf")
@Results({
@Result(column = "Cid",property = "Cid"),
@Result(column = "payment",property = "payment"),
@Result(column = "Cname",property = "Cname"),
@Result(column = "Connection",property = "Connection"),
@Result(column = "airId",property = "airId"),
@Result(column = "airId",property = "air",javaType = air.class , // 指定映射关系
one=@One(select = "com.example.springboot1.Mapper.AirMapper.selectAllUserById")
)})
List<air> selectAllAirById();
@Delete("delete from clentinf where Cid=#{id}")
public int delete(String id);
@Select("select * from clentinf where Cid=#{id}")
public air query(String id);
@Insert("insert into clentinf values(#{Cname},#{Connenction},#{Cid},#{payment},#{airId})")
public int insert(User user);
@Update("update clentinf set Cname=#{Cname} ,payment=#{payment},airId=#{id},Connection=#{Connection},airId=#{airId} where Cid=#{UPid}")
public int update(String Cname,Integer payment,String Connection,String Cid,String airId ,String UPid);
}
MybatisPlus适用于实现 单表查询 功能 ,多表查询语句需自己编写
// mybaitsplus源码
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.baomidou.mybatisplus.core.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
public interface BaseMapper<T> extends Mapper<T> {
int insert(T entity);
int deleteById(Serializable id);
int deleteByMap(@Param("cm") Map<String, Object> columnMap);
int delete(@Param("ew") Wrapper<T> queryWrapper);
int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
int updateById(@Param("et") T entity);
int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
T selectById(Serializable id);
List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
T selectOne(@Param("ew") Wrapper<T> queryWrapper);
Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);
List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
<E extends IPage<T>> E selectPage(E page, @Param("ew") Wrapper<T> queryWrapper);
<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param("ew") Wrapper<T> queryWrapper);
}