此处提供IDEA-SpringBoot-总目录链接,可查看整个项目过程其他步骤文章:点击此处跳转至总目录链接
此处提供IDEA-SpringBoot-总目录链接,可查看整个项目过程其他步骤文章:点击此处跳转至总目录链接
此处提供IDEA-SpringBoot-总目录链接,可查看整个项目过程其他步骤文章:点击此处跳转至总目录链接
处理思路及开发流程如下:
目标:快速实现查询数据库中某张表数据
- 引用依赖,创建测试数据库
- 配置Generator生成工具环境
- 使用Generator工具生成接口、映射文件以及实体 bean
- 实现代码
1.引用依赖
pom.xml
org.mybatis.spring.boot mybatis-spring-boot-starter 2.0.0
Oracle和MySql根据实际情况选择
com.oracle.ojdbc ojdbc8
mysql mysql-connector-java
测试数据库如下:
| ERROR_CODE | ERROR_MESSAGE |
|---|---|
| 000001 | 信息1 |
| 000002 | 信息2 |
| 000003 | 信息3 |
| 000004 | 信息4 |
| 000005 | 信息5 |
2.配置Generator
创建 GeneratorMapper.xml 文件在项目根目录下,与src同级目录
pom.xml
org.mybatis.generator mybatis-generator-maven-plugin 1.3.6 GeneratorMapper.xml true true
3.使用Generator工具生成接口、映射文件以及实体 bean
选择Maven操作窗口,执行生成工具
项目目录下对应文件夹生成文件即可
FmError.java
映射数据库中的字段
public class FmError {
private String errorCode;
private String errorMessage;
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode;
}
public String getErrorMessage() {
return errorMessage;
}
public void setErrorMessage(String errorMessage) {
this.errorMessage = errorMessage;
}
}
FmErrorMapper.java
默认4种类型6个方法,其中带Selective的方法,SQL会根据传参是否为空选择性地执行
public interface FmErrorMapper {
int deleteByPrimaryKey(String errorCode);
int insert(FmError record);
int insertSelective(FmError record);
FmError selectByPrimaryKey(String errorCode);
int updateByPrimaryKeySelective(FmError record);
int updateByPrimaryKey(FmError record);
}
FmErrorMapper.xml
ERROR_CODE, ERROR_MESSAGE
4.实现代码
application.properties
#根据实际情况选择连接信息 #Oracle连接配置 spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver spring.datasource.url=jdbc:oracle:thin:@//xxx.xxx.xxx.xxx:port/xxxxx spring.datasource.username=xxxxx spring.datasource.password=xxxxx #MySql连接配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:port/xxxxx spring.datasource.username=xxxxx spring.datasource.password=xxxxx
FmErrorService.java
public interface FmErrorService {
// 获取错误信息
FmError qryMessage(String id);
}
FmErrorServiceImpl.java
@Service // 业务层注解
public class FmErrorServiceImpl implements FmErrorService {
@Autowired // 注入依赖,自动装配
private FmErrorMapper fmErrorMapper;
@Override
public FmError qryMessage(String id) {
return fmErrorMapper.selectByPrimaryKey(id);
}
}
FmErrorController.java
@Controller
public class FmErrorController {
@Autowired
private FmErrorService fmErrorService;
@RequestMapping(value = "/show")
@ResponseBody
public Object show(){
FmError fmError = fmErrorService.qryMessage("000001");
return fmError;
}
}
直到这步之后还需要配置一些注解,有三种方式:
- 在mapper类中配置@Mapper,此注解作用是mybatis 自动扫描数据持久层的映射文件及 DAO 接口的关系
@Mapper
public interface FmErrorMapper {
- 在Application 上加@MapperScan(“com.abc.springboot.mapper”)
@MapperScan("com.springboot.mapper")
public class Application {
- 在Application 上加@MapperScan(basePackages = “com.springboot.mapper”)
@MapperScan(basePackages = "com.springboot.mapper")
public class Application {
因为 SpringBoot 不能自动编译接口映射的 xml 文件,因此有两种解决方式:
- 手动在 pom 文件中指定
src/main/java **/*.xml
- 将映射文件直接放到 resources/mapper 目录下,并在application.properties中添加配置,指定xml资源位置,
# 指定 Mybatis 映射文件的路径 mybatis.mapper-locations=classpath:mapper/*.xml



