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