springboot测试mapper(mybatis)

  实体类:记得加@Mapper注解,不需要在springboot主程序类上加@MapperScaner

@Mapper
public interface StudentMapper {
    public void saveStudent(Student student);
}

  实体类对应的映射文件:请记得得加第二行的约束语句,好多人都是没加这个

<?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.aib.springmvc.mapper.StudentMapper">
    <!--  插入学生数据  -->
     <insert id="saveStudent" parameterType="com.aib.springmvc.bean.Student">
             insert into stu values(#{name},#{age},#{sex})
     </insert>
</mapper>

  数据源和mapper文件参数配置:好多人习惯了mapper接口和mapper配置放在同一目录下,都会忘了加上mapper.xml的路径了;还有数据源使用springboot默认就行了,想要使用其他数据源记得导依赖,并配置要使用的数据源

#u914Du7F6Eu6570u636Eu6E90,ymlu683Cu5F0F
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
    username: root
    password: 1223
    driver-class-name: com.mysql.cj.jdbc.Driver
#u6307u5B9Amybatisu6620u5C04u6587u4EF6u7684u5730u5740
mybatis:
  mapper-locations: classpath:com/springmvc/mapper/xml/*.xml

  测试类:这里使用@Autowired会提示有错误,但不影响执行

@SpringBootTest(classes = {SpringmvcDemoApplication.class})
@RunWith(SpringRunner.class)
public class TestMapper {

    @Autowired
    private StudentMapper studentMapper;

    @Test
    public void test() {
        Student stu = new Student();

        stu.setName("zhangsan");
        stu.setAge(10);
        stu.setSex("男");

        studentMapper.saveStudent(stu);
    }

}
原文地址:https://www.cnblogs.com/ibcdwx/p/14196792.html