天天看点

Springboot+MyBatis——通用Mapper

1,新建一个Maven项目,并配置成Springboot框架+MyBatis持久层+druid连接池+MySQL数据库

2,添加通用Mapper的依赖

<dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>//SpringBoot项目中添加该依赖
        <version>1.2.3</version>
    </dependency>
           
<dependency>
	<groupId>tk.mybatis</groupId>
	<artifactId>mapper</artifactId>//常规项目
	<version>4.0.0</version>
</dependency>
           

3,新增一个接口继承Mapper,MysqlMapper接口

public interface MyMapper<T> extends Mapper<T>,MySqlMapper<T>{
}
           

4,编写实体类,并在类名添加 @table注解,成员变量添加 @Column注解

@Table(name="studentinfo")//name为表名
public class Student {
	@Column(name="stuno")//name为字段名
	private Integer stuno;
	@Column(name="stuname")
	private String stuname;
	@Column(name="stubirth")
	private Date stubirth;
	@Column(name="stusex")
	private Integer stusex;
	@Column(name="stuaddr")
	private String stuaddr;
	@Column(name="stutel")
	private String stutel;
	public Integer getStuno() {
		return stuno;
	}
	public void setStuno(Integer stuno) {
		this.stuno = stuno;
	}
	public String getStuname() {
		return stuname;
	}
	public void setStuname(String stuname) {
		this.stuname = stuname;
	}
	public Date getStubirth() {
		return stubirth;
	}
	public void setStubirth(Date stubirth) {
		this.stubirth = stubirth;
	}
	public Integer getStusex() {
		return stusex;
	}
	public void setStusex(Integer stusex) {
		this.stusex = stusex;
	}
	public String getStuaddr() {
		return stuaddr;
	}
	public void setStuaddr(String stuaddr) {
		this.stuaddr = stuaddr;
	}
	public String getStutel() {
		return stutel;
	}
	public void setStutel(String stutel) {
		this.stutel = stutel;
	}
	@Override
	public String toString() {
		return "Student [stuno=" + stuno + ", stuname=" + stuname + ", stubirth=" + stubirth + ", stusex=" + stusex
				+ ", stuaddr=" + stuaddr + ", stutel=" + stutel + "]";
	}
}
           

5,编写对应的接口类实现自定义的Mapper类,并加上Mapper注解

@Mapper
public interface TestMapper extends MyMapper<Student>{
}
           

6,使用Service去调用

@Service
public class TestService {
	@Autowired
	TestMapper testMapper;
	public Object queryAllStudents() {
		return testMapper.selectAll();
	}
}
           

7,使用控制器组件去调用Service组件

@Controller
public class TestController {
	Logger logger=LoggerFactory.getLogger(getClass());

	@Autowired
	TestService testService;

	@RequestMapping("a")
	@ResponseBody
	public String test1() {
		String str=JSON.toJSONString(testService.queryAllStudents());
		logger.info(str);
		return str;
	}
}
           

8,在浏览器中进行调用

继续阅读