写在前面:作为一只菜鸡,搬完砖就知道摸鱼,也不知道学习,也不知道学啥。身后的大佬说让看下SpringBoot,然后+mybaits,然后+缓存,实现简单CRUD的操作,说从网上down一个模板能跑起来也行,也算是给一个学习的方向吧。然后我就开始弄,怕会忘记记录下。
用的idea2018.1,intellij idea自己有springboot的插件,吹捧一波。我要开始上图了,我做的时候也是这样的一步步图
1)右键new project,选中spring initialize.一定要选jdk1.8,一开始没选,到第二步的时候也不行了。
2)下一步,基本不用改什么,maven也不要动,我一开始选了第二,然后错?
3)next,我没有选页面,我准备直接敲链接,用Postman,也是大佬告诉我的
第三步完了继续next,就出现了上面,然后就可以finish了。
新建一个controller包,直接返回
@RestController
@EnableAutoConfiguration
public class UserController {
@RequestMapping("/")
public String info() {
return "hello MayDay";
}
}
右键 执行
SpringBootMybaitsApplication类 的main方法,就可以看到控制台启动成功了(集成了很多,洋气)
游览器直接输入localhost:8080/
然后就是一个查和增
实体类都是很简单的 id,name,age,id Mysql自增。配置文件连接MySQL数据库已经mybaits的文件,
每个类都很简单,就上个整体图。
告诉自己:1.insert语句 标签没有resultType,好久没写mybaits的原生sql了。
2.自增主键 useGeneratedKeys="true" keyProperty="id" 加上这2个就可以了直接写除了id之前的insert的字段
下面是查,其他三个操作我都返回了字符串
boolean falg = service.insert(u) > 0;
return falg == true ? "新增success" : "false";
删和改同上。
然后来+缓存
a)pom文件加入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
b)启动类加 @EnableCaching 启动缓存
c)使用注解
在service层写注解
@Override
@Cacheable(cacheNames = "selectById")
public List<User> selectUsers(int id) {
return mapper.selectUsers(id);
}
然后再查一遍id=2,结果没有变,说明从缓存里取值的
但是更新完操作后的查询 应该是新的 所以在更新的方法上加上
@Override
@Cacheable(value="get",key="#id ")
public User selectUsers(int id) {
return mapper.selectUsers(id);
}
@Override
@CacheEvict(value="get",key = "#user.id")
public Integer update(User user) {
return mapper.updateU(user);
}
上面那样,更新后再查就会从新查库,
@CacheEvict注解的作用是当数据删除时把数据从缓存中删除。但是我更新的时候也用了这个,试过是可以的
感觉@CachePut 这个注解没啥意思,可能是我太菜,搞不懂。
到这里最简单的基本实现???然后试redis???
先到这里,后面继续,希望我还能记得