springboot整合mybatis
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")
列如:
value = "/query") (
public class StudentController {
//注入,类似于new
private UserService userService;
//这里是映射到业务逻辑层去了
value = "/queryStudentInfoByNo")//三级标题 (
public Student queryStudentInfoByNo( (value = "stuNo") int stuNo){
Student student = userService.queryStudentByNo(stuNo);
//@RequestParam,在前面是注入数据
return student;
}
5.建一个service包(业务逻辑层),下面新建一个类(命名也是要加+Service),先@Service(这是注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要bean)
public class UserService {
public Student queryStudentByNo(int stuNo){
return userMapper.selectUserNo(stuNo);}
}
6.建一个mapper包,下面建类(命名也是+Mapper)
先@Repository,再在类的下面@,看你是查询还是插入等等,括号里面加双引号写SQL语句(注意如果是取值就是#{})
public interface UserMapper {
"INSERT INTO student VALUES(#{stu_no},#{stu_name},#{grade});") (
int insertUser( ("stu_no") Integer stu_no, ("stu_name") String stu_name, ("grade") String grade);
"select * from student where stu_no=#{stu_no};") (
Student selectUserNo( ("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里面只写方法名字即可(包括,属性,返回,名字,参数类型)
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是数据库的名称
3.创建一个实体包(entity),下面建类,还没有用下划线对应驼峰命名规则时,先用下划线将就一下。后面无参有参getset。
4.建一个controller包(控制,只传参数,和接收前端返回参数),下建一个类,命名规则StudentController(看3+Controller),先@RestController(因为这是控制层,且将对象转换为json格式传输),后面就是二级标题@RequestMapping(value = "/query")
列如:
value = "/query") (
public class StudentController {
//注入,类似于new
private UserService userService;
//这里是映射到业务逻辑层去了
value = "/queryStudentInfoByNo")//三级标题 (
public Student queryStudentInfoByNo( (value = "stuNo") int stuNo){
Student student = userService.queryStudentByNo(stuNo);
//@RequestParam,在前面是注入数据
return student;
}
5.建一个service包(业务逻辑层),下面新建一个类(命名也是要加+Service),先@Service(这是注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要bean)
public class UserService {
public Student queryStudentByNo(int stuNo){
return userMapper.selectUserNo(stuNo);}
}
6.建一个mapper包,下面建类(命名也是+Mapper)
先@Repository,再在类的下面@,看你是查询还是插入等等,括号里面加双引号写SQL语句(注意如果是取值就是#{})
public interface UserMapper {
"INSERT INTO student VALUES(#{stu_no},#{stu_name},#{grade});") (
int insertUser( ("stu_no") Integer stu_no, ("stu_name") String stu_name, ("grade") String grade);
"select * from student where stu_no=#{stu_no};") (
Student selectUserNo( ("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里面只写方法名字即可(包括,属性,返回,名字,参数类型)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?