七、Spring Boot整合测试

a、Spring Boot整合-通用Mapper

目标:配置通用Mapper组件到Spring Boot项目中并使用Mapper接口
分析:
通用Mapper:可以实现自动拼接sql语句;所有的mapper都不需要编写任何方法也就是不用编写sql语句。可以提高效率。
1.添加启动器依赖

<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper-spring-boot-starter</artifactId>
    <version>2.1.5</version>
</dependency>

2.改造UserMapper集成Mapper

public interface UserMapper extends Mapper<User> {
}

user实体类的配置

@Data
@Table(name = "数据库")
public class User {
    @Id//主键
    @KeySql(useGeneratedKeys = true)//主键回填
    private Long id;
    @Column(name="与userName匹配")
    private String userName;
}

3.修改启动引导类Application中的Mapper扫描注解;

@SpringBootApplication
//tk
@MapperScan("com.example.mapper")
public class SpringaodApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringaodApplication.class,args);
    }
}

4.改造UserService实现业务功能

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    //根据ID查询
    public User UserUpata(Long id){
        return userMapper.selectByPrimaryKey(id);//主键查询
    }
    //增加保存用户
    @Transactional
    public void Dataer(User user){
        //选择新增;如果属性为空则不会增加
        userMapper.insertSelective(user);
    }
}

b、Spring Boot整合测试

目标:可以访问处理器对应路径将数据库中的数据根据id查询
分析:
1.改造HelloController,注入UserService利用其方法实现查询。

@RestController
public class HelloController {
    @Autowired
    private DataSource DataSource;
    @Value("${tasds.esd}")
    private String s;
    @Value("${sdfs.asdd}")
    private String a;
    @Autowired
    private UserService userService;
    @GetMapping("/user/{id}")
    public User queryById(/*获取你输入的*/@PathVariable Long id){
        return userService.UserUpata(id);
    }
    @GetMapping("/hell")
    public String dent(){
        System.out.println("DataSource"+DataSource);
        return "efsdsfs";
    }
}

2.启动项目进行测试http://localhost/用户id

发布了10 篇原创文章 · 获赞 0 · 访问量 208

猜你喜欢

转载自blog.csdn.net/yunqiu21/article/details/103976598