• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MyBatis-Plus+Druid配置及应用详解

mybatis 搞代码 4年前 (2022-01-09) 28次浏览 已收录 0个评论

Mybatis-Plus的配置

1.Maven插件

velocity-engine-core是mybatis-plus自动生成代码所依赖的模板(不用自动生成代码功能可不用)

  <dependency>
  <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.0.6</version>
 </dependency>
 <dependency>
  <groupId>org.apache.velocity</groupId>
  <artifactId>velocity-engine-core</artifactId>
  <version>2.2</version>
<a>本文来源gao*daima.com搞@代#码&网6</a> </dependency>

2.application.properties配置

和普通mysql配置相同,没有额外配置

#mysql 连接配置
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

3.Mapper相关注解

@MapperScan中直接mapper文件所在的package

@SpringBootApplication
@EnableTransactionManagement
@EnableEurekaClient
@MapperScan("com.example.demo.dao")
public class DemoApplication {

 public static void main(String[] args) {
 SpringApplication.run(DemoApplication.class, args);
 }
}

4.创建数据库表

5.创建JavaBean(推荐使用Lombok插件方式) – Model层

@Data
@TableName("area")
@ToString(callSuper=true, includeFieldNames=true)
@AllArgsConstructor
@NoArgsConstructor
public class Area implements Serializable{
 
 private static final long serialVersionUID = 1L;
 private String id;
 private String name;
 private int sort; 
}

6.创建Mapper – DAO层

只有自定义SQL时,mapper中才有内容, 使用mybatis-plus自带CRUD语句或者构造器拼接语句时, mapper通常为空

public interface AreaMapper extends BaseMapper<Area> {
 
 //通过mybatis-plus提供的注解,直接自定义SQL
 @Select("select name from area where sort > ${sort}")
 List<String> getBySort2(@Param("sort")int sort);
}

8.创建逻辑接口 – Service层

public interface IAreaService {
 
 public Area getById(String id);
 
 public List<Area> selectAll();
 
 public int updateByPrimaryKeySelective(Area record);
 
 public int deleteByPrimaryKey(String id);
 
 public int insertSelective(Area record);
 
 public List<Area> getBySort();
 
 public List<String> getBySort2(int sort);

}

9.创建逻辑类 – Service层

Mybatis-Plus使用SQL的3种常见方法:
a. 使用mybatis-plus自带CRUD方法: 直接用mapper的自带方法
b. 使用mybatis-plus提供的条件构造器,拼接where条件
c. 使用@Select,@Update等注解, 自己写SQL+参数

@Service
public class AreaServiceImpl implements IAreaService {

 @Autowired
 public AreaMapper areaMapper;

 //使用mybatis-plus自带CRUD方法
 @Override
 public Area getById(String id) {
 return areaMapper.selectById(id);
 } 
 
 @Override
 public List<Area> selectAll() {
 return areaMapper.selectList(null);
 }
 
 @Override
 @Transactional
 public int updateByPrimaryKeySelective(Area record) {
 return areaMapper.updateById(record);
 }
 
 @Override
 public int deleteByPrimaryKey(String id) {
 return areaMapper.deleteById(id);
 }
 
 @Override
 public int insertSelective(Area record) {
 return areaMapper.insert(record);
 }
 
 //使用mybatis-plus提供的条件构造器,拼接条件
 @Override
 public List<Area> getBySort(){
 QueryWrapper<Area> queryWrapper = new QueryWrapper<>();
 queryWrapper.lambda().gt(Area::getSort, 40)
  .lt(Area::getSort, 80);
 return areaMapper.selectList(queryWrapper);
 }
 
 //通过mybatis-plus提供的注解,直接自定义SQL(定义在mapper中)
 @Override
 public List<String> getBySort2(int sort){
 return areaMapper.getBySort2(sort);
 
 }

}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MyBatis-Plus+Druid配置及应用详解
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址