遇到的错误:
这个是因为没有在application.yml文件配置mapper位置
1.yml
mybatis:
configuration:
map-underscore-to-camel-case: true
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
2.xml
<?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.springboot.springsecurity1.dao.BookDao">
<resultMap id="bookDao" type="com.springboot.springsecurity1.dao.BookDao">
<id column="owner_id" property="owenerId"/>
<result column="owner_Name" property="ownerName" />
<result column="owner_sex" property="ownerSex" />
<result column="owner_age" property="ownerAge" />
<result column="owner_address" property="ownerAddress" />
<result column="owner_email" property="ownerEmail" />
</resultMap>
<select id="selectAll" resultType="com.springboot.springsecurity1.bean.BookOwnerVO">
SELECT
b.book_id,
b.book_name,
b.created_time,
o.owner_id,
o.owner_Name,
o.owner_email,
o.owner_address
FROM book b join t_bookowner o on b.owner_id = o.owner_id
</select>
</mapper>
3.关联实体
package com.springboot.springsecurity1.bean;
import java.util.Date;
public class BookOwnerVO {
private int bookId;
private String bookName;
private Date createdTime;
private int ownerId;
private String ownerName;
private String ownerEmail;
private String ownerAddress;
public BookOwnerVO() {
}
public int getBookId() {
return bookId;
}
public void setBookId(int bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public Date getCreatedTime() {
return createdTime;
}
public void setCreatedTime(Date createdTime) {
this.createdTime = createdTime;
}
public int getOwnerId() {
return ownerId;
}
public void setOwnerId(int ownerId) {
this.ownerId = ownerId;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getOwnerEmail() {
return ownerEmail;
}
public void setOwnerEmail(String ownerEmail) {
this.ownerEmail = ownerEmail;
}
public String getOwnerAddress() {
return ownerAddress;
}
public void setOwnerAddress(String ownerAddress) {
this.ownerAddress = ownerAddress;
}
@Override
public String toString() {
return "BookOwnerVO{" +
"bookId=" + bookId +
", bookName='" + bookName + '\'' +
", createdTime=" + createdTime +
", ownerId=" + ownerId +
", ownerName='" + ownerName + '\'' +
", ownerEmail='" + ownerEmail + '\'' +
", ownerAddress='" + ownerAddress + '\'' +
'}';
}
}
4.调用
//-------------------------------------------------BookDao接口
@Component
public interface BookDao extends BaseMapper<Book> {
/**
* 联表查询
* @return
*/
List<Object> selectAll();
}
//----------------------------------------------------service接口
/**
* 联表查询
* @return
*/
List<Object> selectAll();
//------------------------------------------------------------Service实现类
public List<Object> selectAll() {
return bookDao.selectAll();
}
//----------------------------------------------------------controller
@RequestMapping("getall")
public List<Object> getAll(){
return bookService.selectAll();
}