11
UTF-8
UTF-8
2.3.7.RELEASE
org.springframework.boot
spring-boot-starter-actuator
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.0
com.github.atool
fluent-mybatis
1.9.0.1
com.github.atool
fluent-mybatis-generator
1.3.1
com.github.atool
fluent-mybatis-processor
1.9.0
org.projectlombok
lombok
1.18.20
provided
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-starter-web
com.alibaba
fastjson
1.2.72
com.baomidou
mybatis-plus-boot-starter
3.4.2
commons-io
commons-io
2.6
mysql
mysql-connector-java
runtime
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.security
spring-security-test
test
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
11
11
UTF-8
org.springframework.boot
spring-boot-maven-plugin
2.3.7.RELEASE
com.demo.DemoApplication
repackage
repackage
创建配置类
@Configuration
public class FluentMybatisConfig {
@Bean
public MapperFactory mapperFactory() {
return new MapperFactory();
}
}
使用代码生成器生成代码(根据自己目录的情况进行修改)
static final String url = "jdbc:mysql://localhost:3306/fluent_mybatis_demo?useSSL=false&useUnicode=true&characterEncoding=utf-8";
public static void main(String[] args) {
FileGenerator.build(Abc.class);
}
@Tables(
url = url, username = "root", password = "password",
basePack = "cn.org.fluent.mybatis.springboot.demo",
srcDir = "demo/src/main/java",
daoDir = "demo/src/main/java",
gmtCreated = "gmt_create", gmtModified = "gmt_modified", logicDeleted = "is_deleted",
tables = @Table(value = {"student_score"})
)
static class Abc {
}
最终会得到dao和entity包下的数据
接着先Build一下项目
可能会出现baseDaol类无法找到
解决办法,IDEA重新编译一下,双击即可
最终taget目录下
修改启动类
注意:com.demo.mapper于tageter目录中的路径一致
@RestController
@RequestMapping("/admin")
public class AdminController {
@Autowired
private AdminDaoImpl adminDao;
@GetMapping("/getAdminById")
public Result getAdminById(@RequestParam("id") Integer id){
return Result.success(adminDao.selectById(id));
}
@RequestMapping("/insert")
public Result insertAdmin(){
AdminEntity adminEntity = new AdminEntity();
// adminEntity.setId(4);
adminEntity.setAddTime(new Date());
adminEntity.setAvatar("");
adminEntity.setEnabled(0);
adminEntity.setMoney(new BigDecimal("0"));
adminEntity.setPassword("123456");
adminEntity.setPhone("18224678900");
adminEntity.setQq("12123332");
adminEntity.setSex("男");
adminEntity.setUpdateTime(new Date());
adminEntity.setUsername("lisi");
adminEntity.setWeixin("21412414121");
Serializable save = adminDao.save(adminEntity);
System.out.println(save);
return Result.success(save);
}
@RequestMapping("/list")
public Result getAdminList(){
AdminQuery adminQuery = new AdminQuery();
List adminEntities = adminDao.listEntity(adminQuery);
return Result.success(adminEntities);
}
@RequestMapping("/getAdminListByName")
public Result getAdminListByName(){
AdminQuery adminQuery = new AdminQuery();
adminQuery.where().username().eq("lisi").password().eq("123456");
List adminEntities = adminDao.listEntity(adminQuery);
return Result.success(adminEntities);
}
}
启动启动类并访问接口



