注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
注在类上,提供类的全参构造
注在类上,提供类的无参构造
注在属性上,提供 set 方法
注在属性上,提供 get 方法
注在类上,提供对应的 equals 和 hashCode 方法
注在类上,提供对应的 Logger 对象,变量名为 log
参考
value作用:value指定数据库中的表名
如果我们不设置这个注解,我们操作的数据库的表就由BaseMapper
@TableName(value = "t_book") //@TableName("t_book")
public class Book {}
另外的一种方法:
设置实体类所对应的表的统一前缀
我们如果不用注解也可以,比如下面的这个方式,给每个类都配置一个前缀,比如说表名是Book,但他其实已经默认是t_Book
作用:指定属性所对应的字段名
@TableField(value = "bookName")
private String bookName;
@TableField(value="type")
private String type;
如果不加上面那个注解的话,就会默认两个单词中间加一个—,如下图所示
参考
使用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类。
添加位置:接口类上面,代码如下所示:
@Mapper
public interface StudentMapper {
}
作用:指定要变成实现类的接口所在的包,包下面的所有接口在编译之后都会生成相应的实现类。添加位置:是在Springboot启动类上面添加
package com.tyut.pet;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@MapperScan({"com.pet.mapper"})
public class PetApplication {
public static void main(String[] args) {
SpringApplication.run(PetApplication.class, args);
}
}
在SpringMVC中,控制器Controller负责处理又DIspatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。
@Controller
public class MyController {
@RequestMapping ( "/showView" )
public ModelAndView showView() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName( "viewName" );
modelAndView.addObject( " 需要放到 model 中的属性名称 " , " 对应的属性值,它是一个对象 " );
return modelAndView;
}
}
在上面的示例中,@Controller 是标记在类MyController 上面的,所以类MyController 就是一个SpringMVC Controller 对象了,然后使用@RequestMapping(“/showView”) 标记在Controller 方法上,表示当请求/showView.do 的时候访问的是MyController 的showView 方法,该方法返回了一个包括Model 和View 的ModelAndView 对象。
使用 @Autowired 注解,可以省略手动编写代码来实例化和设置组件的属性的步骤。Spring 框架会自动扫描应用程序中所有使用了 @Component、@Service、@Repository 等注解的类
@Service
public class MyService {
@Autowired
private MyRepository repository;
public List<MyEntity> getAllEntities() {
return repository.findAll();
}
}
@Repository
public class MyRepository {
public List<MyEntity> findAll() {
}
}
在这个示例中,MyService 组件使用 @Autowired 注解来自动装配 MyRepository 组件。当 MyService 实例化时,Spring 框架会自动创建 MyRepository 的实例,并将它注入到 MyService 中。然后,MyService 可以使用 repository 属性来访问 MyRepository 提供的方法,例如 findAll() 方法。
参考
作用:将java对象转为json格式的数据
将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。
注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。
原理:@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用(也就是AJAX)。
注意:在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。@RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。
@RequestMapping(value = "user/login")
@ResponseBody
// 将ajax(datas)发出的请求写入 User 对象中
public User login(@RequestBody User user) {
// 这样就不会再被解析为跳转路径,而是直接将user对象写入 HTTP 响应正文中
return user;
}
pom.xml
中加入依赖在pom.xml
中右键,选中generate
,里面有Dependency
,在里面查找想要的依赖。
IService通常是一个接口,其作用是定义一个服务的功能和方法。IService接口它可以将一个复杂的服务分解成多个小的服务,每个小的服务都有一个对应的IService接口,这样可以降低服务之间的耦合性,提高代码的可读性和可维护性。
IService接口通常会定义服务的方法、输入参数、返回值等。IService接口可以被实现为不同的服务,例如一个数据库访问服务、一个文件访问服务、一个邮件服务等。通过使用IService接口,客户端可以方便地使用服务,并且可以轻松地切换不同的服务实现。源码
①mapper接口继承basemapper接口
②service接口继承Iservice
③service接口的实现类继承ServiceImpl<继承basemapper的mapper,实体类>,实现IUserService接口
来源
作用:我们知道,平时上网时都是使用无状态的HTTP协议传输出数据,这意味着客户端与服务端在数据传送完成后就会中断连接。这时我们就需要一个一直保持会话连接的机制。在session出现前,cookie就完全充当了这种角色。也就是,
cookie的小量信息能帮助我们跟踪会话。一般该信息记录用户身份。
原理:客户端请求服务器时,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。而客户端浏览器会把Cookie保存起来。当浏览器再请求服务器时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器通过检查该Cookie来获取用户状态。
Cookie cookie = new Cookie("username","joker");// 新建Cookie
cookie.setMaxAge(24*60*60); // 设置生命周期
response.addCookie(cookie); //