springboot整合mybatis

1.先在application.yaml文件里面配置(确保驱动等,已经引入到pom.xml里面)

spring:
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://127.0.0.1:3306/test001
   username: root
   password: 123456
       
本机:127.0.0.1,也相当于localhost
url根据情况来,test001是数据库的名称

 

2.先在数据库里面建一张表,保证可以正常查询

3.创建一个实体包(entity),下面建类,还没有用下划线对应驼峰命名规则时,先用下划线将就一下。后面无参有参getset。

4.建一个controller包(控制,只传参数,和接收前端返回参数),下建一个类,命名规则StudentController(看3+Controller),先@RestController(因为这是控制层,且将对象转换为json格式传输),后面就是二级标题@RequestMapping(value = "/query")

列如:

@RestController
@RequestMapping(value = "/query")
public class StudentController {
   @Autowired   //注入,类似于new
   private UserService userService;
//这里是映射到业务逻辑层去了
   @GetMapping(value = "/queryStudentInfoByNo")//三级标题
   public Student queryStudentInfoByNo(@RequestParam(value = "stuNo") int stuNo){
       Student student = userService.queryStudentByNo(stuNo);
//@RequestParam,在前面是注入数据  
       
       
       return student;
  }

5.建一个service包(业务逻辑层),下面新建一个类(命名也是要加+Service),先@Service(这是注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要bean)

@Service
public class UserService {
     @Autowired
    public Student queryStudentByNo(int stuNo){
       return userMapper.selectUserNo(stuNo);}
}
   

6.建一个mapper包,下面建类(命名也是+Mapper)

先@Repository,再在类的下面@,看你是查询还是插入等等,括号里面加双引号写SQL语句(注意如果是取值就是#{})

@Repository
public interface UserMapper {
@Insert("INSERT INTO student VALUES(#{stu_no},#{stu_name},#{grade});")
   int insertUser(@Param("stu_no") Integer stu_no,@Param("stu_name") String stu_name,@Param("grade") String grade);
   
@Select("select * from student where stu_no=#{stu_no};")
   Student selectUserNo(@Param("stu_no") int stu_no);
}

 

每个的注解

数据服务处(service)(如果是分开的,那就在servicelmpl这里),

控制层(controller),

数据持久层(mapper/dao)。

 

service层的注解:@Service

controller层的注解:@Restcontroller 相当于@ResponseBody + @Controller合在一起的作用。

mapper层的注解:@Component

注意:@Autowired,相当于new,实例化对象。一般在service层用,看分没分lmpl,lmpl是指真正实现service,所以在这里面写。这样service里面只写方法名字即可(包括,属性,返回,名字,参数类型)

mapper层里面只写,(类型,名字,参数),连公共私有都没有。

 

 

 

 

 

1.先在application.yaml文件里面配置(确保驱动等,已经引入到pom.xml里面)

spring:
 datasource:
   driver-class-name: com.mysql.jdbc.Driver
   url: jdbc:mysql://127.0.0.1:3306/test001
   username: root
   password: 123456
       
本机:127.0.0.1,也相当于localhost
url根据情况来,test001是数据库的名称

 

2.先在数据库里面建一张表,保证可以正常查询

3.创建一个实体包(entity),下面建类,还没有用下划线对应驼峰命名规则时,先用下划线将就一下。后面无参有参getset。

4.建一个controller包(控制,只传参数,和接收前端返回参数),下建一个类,命名规则StudentController(看3+Controller),先@RestController(因为这是控制层,且将对象转换为json格式传输),后面就是二级标题@RequestMapping(value = "/query")

列如:

@RestController
@RequestMapping(value = "/query")
public class StudentController {
   @Autowired   //注入,类似于new
   private UserService userService;
//这里是映射到业务逻辑层去了
   @GetMapping(value = "/queryStudentInfoByNo")//三级标题
   public Student queryStudentInfoByNo(@RequestParam(value = "stuNo") int stuNo){
       Student student = userService.queryStudentByNo(stuNo);
//@RequestParam,在前面是注入数据  
       
       
       return student;
  }

5.建一个service包(业务逻辑层),下面新建一个类(命名也是要加+Service),先@Service(这是注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要bean)

@Service
public class UserService {
     @Autowired
    public Student queryStudentByNo(int stuNo){
       return userMapper.selectUserNo(stuNo);}
}
   

6.建一个mapper包,下面建类(命名也是+Mapper)

先@Repository,再在类的下面@,看你是查询还是插入等等,括号里面加双引号写SQL语句(注意如果是取值就是#{})

@Repository
public interface UserMapper {
@Insert("INSERT INTO student VALUES(#{stu_no},#{stu_name},#{grade});")
   int insertUser(@Param("stu_no") Integer stu_no,@Param("stu_name") String stu_name,@Param("grade") String grade);
   
@Select("select * from student where stu_no=#{stu_no};")
   Student selectUserNo(@Param("stu_no") int stu_no);
}

 

每个的注解

数据服务处(service)(如果是分开的,那就在servicelmpl这里),

控制层(controller),

数据持久层(mapper/dao)。

 

service层的注解:@Service

controller层的注解:@Restcontroller 相当于@ResponseBody + @Controller合在一起的作用。

mapper层的注解:@Component

注意:@Autowired,相当于new,实例化对象。一般在service层用,看分没分lmpl,lmpl是指真正实现service,所以在这里面写。这样service里面只写方法名字即可(包括,属性,返回,名字,参数类型)

mapper层里面只写,(类型,名字,参数),连公共私有都没有。

posted @ 2022-07-31 22:25  锦书南辞  阅读(72)  评论(0编辑  收藏  举报