spring Boot 整合学习
spring Boot 整合 MyBatis-Plus
1.配置pom文件
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
由于是使用了spring boot 整合 mybeatis-plus:
用到了spring-boot-starter,而spring-boot-starter自带mybeatis,mybeatis-plus也自带mybeatis,会产生包冲突,需要把spring-boot-starter的排除掉
<exclusions>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
</exclusions>
2.生成实体类,dao接口,service接口,service实现类
2.1 实体类
@TableName("sys_setting")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SysSetting implements Serializable {
/**
* 表id
*/
@TableId
private String id;
/**
* 系统名称
*/
private String sysName;
/**
* 系统logo图标
*/
private String sysLogo;
/**
* 系统底部信息
*/
private String sysBottomText;
/**
* 系统公告
*/
private String sysNoticeText;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
/**
* 用户管理:初始、重置密码
*/
private String userInitPassword;
/**
* 系统颜色
*/
private String sysColor;
/**
* API加密 Y/N
*/
private String sysApiEncrypt;
private static final long serialVersionUID = 1L;
2.2 dao接口
public interface SysSettingDao extends BaseMapper<SysSetting> {
}
dao继承BaseMapper后就可以使用一些固定的sql方法
/**
* Mapper 继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
* <p>这个 Mapper 支持 id 泛型</p>
*
* @author hubin
* @since 2016-01-23
*/
public interface BaseMapper<T> extends Mapper<T> {
plus是mybeatis的增强版,具有mybeatis的所有功能,如果需要自定义sql的话,自己新建sql.xml文件即可。但是需要修改配置文件:
mybatis:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: com.jiang.entity
2.3 service接口
service可以继承IService 接口。
IService 内部进一步封装了 BaseMapper 接口的方法(当然也提供了更详细的方法)。
使用时,可以通过 生成的 mapper 类进行 CRUD 操作,也可以通过 生成的 service 的实现类进行 CRUD 操作。(当然,自定义代码执行也可)。
public interface SysSettingService {
public SysSetting getById(String id)throws RuntimeException;
}
public interface SysShortcutMenuService extends IService<SysShortcutMenu> {
}
2.4 service实现类
实现类和service一样可以继承也可以自定义。
@Slf4j
@Service("SysSettingService")
public class SysSettingServiceImpl implements SysSettingService {
@Autowired
private SysSettingDao sysSettingDao;
@Override
public SysSetting getById(String id) throws RuntimeException {
try {
return sysSettingDao.selectById(id);
} catch (Exception e) {
log.error("系统配置查询异常:{}",e.getMessage());
}
return null;
}
}
public interface SysShortcutMenuService extends IService<SysShortcutMenu> {
}
3. 显示打印日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl