mybatis-plus是mybatis的一款插件,它的主要作用是快速開發,省略mybatis的配置,具體的功能請參照官網。
開發環境:
springboot,maven,mybatis-plus,mysql,jdk1.8,lombok,阿里druid數據源
整合步驟:
1、在pom.xml加入相關配置
2、在resources中添加application.yml,設置mysql相關配置
3、在基類中添加表名和表名中對應的字段名
4、定義mapper接口,繼承BaseMapper<T>接口,該接口中封裝了Sql
5、在啟動類中添加mapper掃描的包
5、調用mapper接口即可
項目架構:
具體步驟代碼:
1、在pom.xml加入相關配置
-
<!-- spring-boot-starter-parent 和 mybatis-plus-boot-starter 有版本要求-->
-
<parent>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-parent</artifactId>
-
<version> 2.0.3.RELEASE</version>
-
</parent>
-
-
-
<dependencies>
-
<!-- spring-boot -->
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-web</artifactId>
-
</dependency>
-
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter</artifactId>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-test</artifactId>
-
<scope>test</scope>
-
</dependency>
-
-
-
<!--mybatis-plus自動的維護了mybatis以及mybatis-spring的依賴,
-
在springboot中這三者不能同時的出現,避免版本的沖突,表示:跳進過這個坑-->
-
<dependency>
-
<groupId>com.baomidou</groupId>
-
<artifactId>mybatis-plus-boot-starter</artifactId>
-
<version> 3.0.1</version>
-
</dependency>
-
-
<!-- 引入Druid依賴,阿里巴巴所提供的數據源 -->
-
<dependency>
-
<groupId>com.alibaba</groupId>
-
<artifactId>druid</artifactId>
-
<version> 1.0.29</version>
-
</dependency>
-
-
<!-- 提供mysql驅動 -->
-
<dependency>
-
<groupId>mysql</groupId>
-
<artifactId>mysql-connector-java</artifactId>
-
<version> 5.1.38</version>
-
</dependency>
-
-
<dependency>
-
<groupId>org.projectlombok</groupId>
-
<artifactId>lombok</artifactId>
-
<version> 1.16.16</version>
-
</dependency>
-
-
</dependencies>
2、在resources中添加application.yml,設置mysql相關配置
-
server:
-
port: 2525
-
-
# 該配置的名稱是固定的,不可以改變,否則將不能自動加載到數據源中
-
spring:
-
datasource:
-
# 使用druid數據源
-
type: com.alibaba.druid.pool.DruidDataSource
-
driver- class-name: com.mysql.jdbc.Driver
-
url: jdbc:mysql://192.168.3.172:3306/poc?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
-
username: devuser
-
password: dev123
-
filters: stat
-
maxActive: 20
-
initialSize: 1
-
maxWait: 60000
-
minIdle: 1
-
timeBetweenEvictionRunsMillis: 60000
-
minEvictableIdleTimeMillis: 300000
-
validationQuery: select 1 FROM DUAL
-
testWhileIdle: true
-
testOnBorrow: false
-
testOnReturn: false
-
poolPreparedStatements: true
-
maxOpenPreparedStatements: 20
3、在基類中添加表名和表名中對應的字段名
-
@Data
-
@NoArgsConstructor
-
@AllArgsConstructor
-
@TableName("tb_test_student") //對應表名
-
public class Student implements Serializable {
-
-
//對應id,可不填
-
@TableId(value = "id")
-
private int id;
-
-
//對應字段名,如果屬性名和字段名一致,可不填
-
@TableField("name")
-
private String name;
-
-
private String school;
-
-
private String city;
-
-
//表示表中沒有這個字段,如果不加該注釋,會拋異常
-
@ TableField(exist = false)
-
private String address;
-
}
4、定義mapper接口,繼承BaseMapper<T>接口,該接口中封裝了Sql
-
public interface StudentMapper extends BaseMapper<Student> {
-
-
}
5、在啟動類中添加mapper掃描的包
-
@SpringBootApplication
-
@MapperScan("com.springboot.mybatisplus.mapper")
-
public class App {
-
-
public static void main(String[] args) {
-
SpringApplication.run(App.class,args);
-
}
-
}
5、調用mapper接口即可
-
-
-
public class TestMain {
-
-
-
private StudentMapper studentMapper;
-
-
-
public List<Student> list(){
-
List<Student> students = studentMapper.selectList( null);
-
return students;
-
}
-
-
-
-
public String save(){
-
Student student = new Student();
-
student.setId( 2);
-
student.setCity( "杭州");
-
student.setName( "馬雲");
-
student.setSchool( "杭州師范");
-
studentMapper.insert(student);
-
return "success";
-
}
-
-
}
打印sql:
-
mybatis-plus:
-
configuration:
-
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
具體的API請參照mybatis-plus官網:http://mp.baomidou.com/guide/