一、使用idea创建springboot项目
1、创建项目:file–>New–>Project
2、选择Web创建项目
3、如果有自己的maven,可以右键项目在Setting中修改maven路径,没有就忽略此步即可
4、到这里springboot项目就创建成功,我们可以看下目录结构
这里的配置文件也可以使用application.yml
二、整合mybatis
1、pom.xml引入相关jar
<!--web依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--引入mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!--工具类-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--guawa工具类-->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.0.1-jre</version>
</dependency>
2、在application.properties中配置数据源
#druid
spring.druid.url=jdbc:mysql:///mysql04?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
spring.druid.driverClassName=com.mysql.jdbc.Driver
spring.druid.username=root
spring.druid.password=root
#最大链接数
spring.druid.maxActive=30
#最小链接数
spring.druid.minIdle=5
#获得链接的最大等待时间
spring.druid.maxWait=10000
#指定mybatis配置文件地址
mybatis.config-location=classpath:mybatis/mybatis-config.xml
#端口
server.port=8888
package com.xmcc.config;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.google.common.collect.Lists;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //表示为配置类
public class DruidConfig {
//value:bean的名字
@Bean(value = "druidDataSource" ,initMethod = "init" ,destroyMethod = "close")
@ConfigurationProperties(prefix = "spring.druid")//对应properties中的前缀
public DruidDataSource druidDataSource(){
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setProxyFilters(Lists.newArrayList(statFilter()));//guava创建集合过滤器配置
return druidDataSource;
}
@Bean
public StatFilter statFilter(){
StatFilter statFilter = new StatFilter();
statFilter.setLogSlowSql(true);//慢查询记录日志
statFilter.setSlowSqlMillis(5);//慢查询时间s
statFilter.setMergeSql(true);//格式化sql
return statFilter;
}
@Bean
public ServletRegistrationBean servletRegistrationBean(){
//durid监控平台,输入http://localhost:8888/druid即可访问
return new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
}
}
注意:这里如果有同学的idea不能识别@ConfigurationProperties请添加这个jar:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
3、配置mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!--关闭缓存,多机环境 数据更新 不会刷新缓存-->
<setting name="cacheEnabled" value="false"/>
<!--开启驼峰匹配-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!--允许主键生成-->
<setting name="useGeneratedKeys" value="true"/>
<!--配置默认的执行器。SIMPLE 就是普通的执行器;
REUSE 执行器会重用预处理语句(prepared statements);
BATCH 执行器将重用语句并执行批量更新。
<setting name="defaultExecutorType" value="REUSE"/>
<setting name="defaultStatementTimeout" value="600"/>
</settings>
<!--修改mybatis别名-->
<typeAliases>
<package name="xxx.xxx"/>
</typeAliases>
<!--指定mapper配置文件-->
<mappers>
<mapper resource="mapper/OrderMapper.xml"/>//这里以OrderMapper为例
</mappers>
</configuration>
4、配置Mapper接口
package com.xmcc.springboot_mybatis_mysql01.dao;
import com.xmcc.springboot_mybatis_mysql01.entity.Order;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface OrderMapper {
List<Order> queryAll();
}
5、配置Mapper.xml映射
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xmcc.springboot_mybatis_mysql01.dao.OrderMapper" >
<select id="queryAll" resultType="order">
select * from xmcc_order
</select>
</mapper>
6、到这里spring整合mybatis就完成了。