springboot整合Mybatis
参考黑马springboot学习文档
参考“纯洁的微笑”的博客
mapper接口定义的方法有两种实现方式:注释,xml配置文件
1.添加依赖:
添加Mybatis的起步依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
添加数据库驱动依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
添加连接池依赖(非必须)
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.5</version>
</dependency>
2.配置连接池,mybatis
在application.properties中添加如下配置:
#配置连接池 DB Configuration:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8 //?前面的test是数据库名
spring.datasource.username=root
spring.datasource.password=root
#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.itheima.domain
3.创建实体类
domain包下创建与数据库表对应的实体类Bean
4.创建Mapper接口
mapper包下创建Mapper接口,然后定义接口方法
接口添加注释@Mapper把mapper对象交给spring.
也可以不注释,选择在启动类上添加注释@MapperScan("dmm/miaosha/mapper"),这种方式更加方便,不用在每个mapper接口上添加@Mapper注释。
5.1注释方式
在mapper接口定义的方法上,通过添加注释实现这些方法。
@Mapper
public interface UserDao {
@Select("select * from user where id =#{id}")
public User getById(@Param("id")int id);
@Insert("insert into user(id,name)value(#{id},#{name})")
public int insert(User user);
}
5.2mapper配置文件方式
1.application.properties新增以下配置:
mybatis.config-location=classpath:mybatis/mybatis-config.xml //Mybatis基础配置文件
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml //实体类映射文件的地址
2.添加Mybatis基础配置文件:mybatis-config.xml
<configuration>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" />
<typeAlias alias="Long" type="java.lang.Long" />
</typeAliases>
</configuration>
3.在src\main\resources\mapper路径下添加*Mapper.xml配置文件实现mapper接口定义的方法
最后
至此,可以在service层注入mapper对象,若mapper对象下面有红色波浪线,并提示Could not autowire. No beans of 'UserDao' type found.
,不用管,运行是没问题的。