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默认就行了,想要使用其他数据源记得导依赖,并配置要使用的数据源

#\u914D\u7F6E\u6570\u636E\u6E90,yml\u683C\u5F0F
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
    username: root
    password: 1223
    driver-class-name: com.mysql.cj.jdbc.Driver
#\u6307\u5B9Amybatis\u6620\u5C04\u6587\u4EF6\u7684\u5730\u5740
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);
    }

}

 

posted @ 2020-12-27 11:46  爱编程DE文兄  阅读(3911)  评论(0编辑  收藏  举报