SpringBoot+mysql+Redis整合增删改查操作
前言:
本文通过记录SpringBoot+springMVC+redis+mysql来实现web项目中增删改查的具体操作。redis做缓存数据库,针对于频繁需要查询或者解决单点问题都会把数据存到redis来分担服务器压力。
1.项目结构
webdemo1
java
|_________bean
|_________config(redis模板类)
|_________controller
|_________mapper
|_________service
|______Webdemo1Application(springboot启动类)
resources
|_________application.yml
2.实现步骤
2.1.通过SpringInitializr创建SpringBoot项目。(操作请参考上篇:SpringBoot入门)
2.2创建User类与UserDao
User类:
public class User implements Serializable {
private static final long serialVersionUID = 1L;
private Integer id;
private String userName;
private String passWord;
private Integer sex;
private Date birthday;
//setter and getter method
}
mysql表结构:
create table t_user(
id int(11) auto_increment comment '编号',
user_name varchar(50) default '' comment '用户名称',
pass_word varchar(50) default '' comment '用户密码',
sex int(3) default null comment '年龄',
birthday datetime comment '生日',
primary key (id)
)engine=innodb auto_increment =1 comment '用户表';
UserDao类:
@Repository
@Mapper
public interface UserDao {
//用户列表
@Select("select * from t_user")
@Results({
@Result(property = "userName",column = "user_name"),
@Result(property = "passWord",column = "pass_word")
})
List<User> queryAll();
//根据id获取user
@Select("select * from t_user where id =#{id}")
@Results({
@Result(property = "userName",column = "user_name"),
@Result(property = "passWord",column = "pass_word")
})
User findUserById(Integer id);
//根据id修改user
@Update("update t_user set user_name=#{userName},pass_word =#{passWord},sex=#{sex},birthday=#{birthday} WHERE id = #{id} ")
int updateUser(User user);
//根据id删除用户
@Delete("delete from t_user where id = #{id}")
int deleteUserById(Integer id);
}
2.3创建RedisConfig模板类
/**
* 配置redistemplate序列化
*/
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {
/**
* 选择redis作为默认缓存工具
*/
@Bean
public CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory){
//设置缓存有效一小时
RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.
defaultCacheConfig().entryTtl(Duration.ofHours(1));
return RedisCacheManager.builder