试搭SpringBoot+MyBaits+MySql,简单实现

  写在前面:作为一只菜鸡,搬完砖就知道摸鱼,也不知道学习,也不知道学啥。身后的大佬说让看下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???

先到这里,后面继续,希望我还能记得

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值