说明
MyBatisPlus
中,可以使用 Mybatis
方式操作数据库。在 Mapper.xml
中,编写 SQL 来实现比较复杂的操作。
一般比较复杂的逻辑,需要多表联合查询,比较适合直接写SQL。
MybatisPlus
比较适合单表操作
。
PS:本示例只是简单演示使用
Mapper.xml
,所以没有在其中添加复杂逻辑。
项目架构示例
代码
Mapper扫描
@MapperScan(basePackages = {"com.example.web.mapper"})
示例:
package com.example;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(basePackages = {"com.example.web.mapper"})
public class MybatisPlusDemoApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusDemoApplication.class, args);
}
}
Mapper.java
package com.example.web.mapper;
import com.example.web.entity.User;
import java.util.List;
public interface MybatisMapper {
List<User> selectListByName(String name);
}
Mapper.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.example.web.mapper.MybatisMapper">
<select id="selectListByName" resultType="com.example.web.entity.User">
select * from user where name = #{value}
</select>
</mapper>
Test
package com.example;
import com.example.web.entity.User;
import com.example.web.mapper.MybatisMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class MybatisMapperTest {
@Autowired
private MybatisMapper mapper;
@Test
void selectListByName() {
List<User> users = mapper.selectListByName("张三");
System.out.println(users);
}
}