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.在srcmain esourcesmapper路径下添加*Mapper.xml配置文件实现mapper接口定义的方法

最后

至此,可以在service层注入mapper对象,若mapper对象下面有红色波浪线,并提示Could not autowire. No beans of 'UserDao' type found.,不用管,运行是没问题的。

原文地址:https://www.cnblogs.com/dongmm031/p/12458192.html