栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中的使用及连接Redis数据库(附源码)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的使用及连接Redis数据库(附源码)

引言:

本文主要分享了Redis如何在IDEA中部署,运行;模拟加入Redis的操作;

目录结构

1. 在IDEA中搭建Redis

1.1 创建项目

新建含有web的SpringBoot项目;

搭建项目参考:SpringBoot超详细笔记:https://blog.csdn.net/weixin_42601136/article/details/108396511

1.2 添加依赖(不够手动添加)


  
  
    redis.clients
    jedis
    2.9.0
  
  
  
    junit
    junit
    4.12
  

  
    org.springframework.boot
    spring-boot-starter-jdbc
  
  
    org.springframework.boot
    spring-boot-starter-thymeleaf
  
  
    org.springframework.boot
    spring-boot-starter-web
  
  
    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.1.2
  

  
    mysql
    mysql-connector-java
    runtime
  
  
    org.projectlombok
    lombok
    true
  
  
    org.springframework.boot
    spring-boot-starter-test
    test
  

1.3 测试环境是否搭建成功

@Test
  public void test0() {
    //连接Redis
    Jedis jedis = new Jedis("127.0.0.1", 6379);
    //获取kak
    String kaka = jedis.get("kak");
    log.info(kaka);
    //创建datex
    String datex = jedis.set("datex", new Date().toString());
    //获取datex
    String datex1 = jedis.get("datex");
    log.info(datex1);
    //关闭资源
    jedis.close();
  }

1.4 利用json存储数据

@Test
  public void test1() {
    JedisPool pool = new JedisPool("127.0.0.1", 6379);
    Jedis jedis = pool.getResource();
    Student student = new Student(1001, "kak", "man", "20");
    String key = "student";
    String field = "1001";
    String s = JsonUtils.objectToJson(student);
    String value = s;
    jedis.hset(key, field, value);
    String hget = jedis.hget(key, field);
    log.info(hget);
    jedis.close();
  }

1.5 以byte的形式存储对象

@Test
  public void test02() {
    //连接redis
    Jedis jedis = new Jedis("127.0.0.1", 6379);
    String key = "Student";
    Student value = new Student(1002, "taotao", "woman", "20");
    //将key和value转换为byte[]
    byte[] byteKey = SerializationUtils.serialize(key);
    byte[] bytevalue = SerializationUtils.serialize(value);
    //将key和value存储到redis中
    jedis.set(byteKey, bytevalue);
    //获取value值
    byte[] bytes = jedis.get(byteKey);
    //bytes反序列化为Student对象
    Student stu = (Student) SerializationUtils.deserialize(bytes);
    System.out.println(stu);
    jedis.close();

  }

1.6 加入连接池的操作

使用连接池操作,可以避免频繁的创建和销毁连接对象的消耗资源

@Test
  public void test3(){
    //创建连接池
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(100);//连接池中的最大活跃数
    poolConfig.setMaxIdle(10);//最大空闲数
    poolConfig.setMinIdle(5);//最小空闲数
    poolConfig.setMaxWaitMillis(3000);//连接池空了,3000毫秒后没有获取Jedis对象,超时
    //创建连接池
    JedisPool pool = new JedisPool(poolConfig,"127.0.0.1",6379);
    //通过连接池获取Jedis对象
    Jedis resource = pool.getResource();
    //获取上面添加的datex
    String value = resource.get("datex");
    log.info(value);

    resource.close();
  }

1.7 管道操作

Redis的管道操作,执行一个命令需要先发送请求到Redis,需要经历网络延迟,Redis还需给客户端一个响应;如果需要一次操作多个命令,可以通过管道,将命令放到客户端的一个Pipeline中,之后一次将命令发送到服务端,服务端一次性返回到客户端;

@Test
  public void test3(){
    //创建连接池
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(100);//连接池中的最大活跃数
    poolConfig.setMaxIdle(10);//最大空闲数
    poolConfig.setMinIdle(5);//最小空闲数
    poolConfig.setMaxWaitMillis(3000);//连接池空了,3000毫秒后没有获取Jedis对象,超时
    //创建连接池
    JedisPool pool = new JedisPool(poolConfig,"127.0.0.1",6379);
    //通过连接池获取Jedis对象
    Jedis resource = pool.getResource();
    //获取上面添加的datex
    String value = resource.get("datex");
    log.info(value);

    resource.close();
  }

2. 从数据中查询数据

场景:

将数据存入Redis中,避免访问量过大,造成数据库奔溃;

2.1 生成实体类

@Test
  public void test3(){
    //创建连接池
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxTotal(100);//连接池中的最大活跃数
    poolConfig.setMaxIdle(10);//最大空闲数
    poolConfig.setMinIdle(5);//最小空闲数
    poolConfig.setMaxWaitMillis(3000);//连接池空了,3000毫秒后没有获取Jedis对象,超时
    //创建连接池
    JedisPool pool = new JedisPool(poolConfig,"127.0.0.1",6379);
    //通过连接池获取Jedis对象
    Jedis resource = pool.getResource();
    //获取上面添加的datex
    String value = resource.get("datex");
    log.info(value);

    resource.close();
  }

2.2 生成实体模板类

package com.sx.kak.po;

import java.util.ArrayList;
import java.util.List;

public class StudentExample {
  protected String orderByClause;

  protected boolean distinct;

  protected List oredCriteria;

  public StudentExample() {
    oredCriteria = new ArrayList();
  }

  public void setOrderByClause(String orderByClause) {
    this.orderByClause = orderByClause;
  }

  public String getOrderByClause() {
    return orderByClause;
  }

  public void setDistinct(boolean distinct) {
    this.distinct = distinct;
  }

  public boolean isDistinct() {
    return distinct;
  }

  public List getOredCriteria() {
    return oredCriteria;
  }

  public void or(Criteria criteria) {
    oredCriteria.add(criteria);
  }

  public Criteria or() {
    Criteria criteria = createCriteriaInternal();
    oredCriteria.add(criteria);
    return criteria;
  }

  public Criteria createCriteria() {
    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    Criteria criteria = new Criteria();
    return criteria;
  }

  public void clear() {
    oredCriteria.clear();
    orderByClause = null;
    distinct = false;
  }

  protected abstract static class GeneratedCriteria {
    protected List criteria;

    protected GeneratedCriteria() {
      super();
      criteria = new ArrayList();
    }

    public boolean isValid() {
      return criteria.size() > 0;
    }

    public List getAllCriteria() {
      return criteria;
    }

    public List getCriteria() {
      return criteria;
    }

    protected void addCriterion(String condition) {
      if (condition == null) {
 throw new RuntimeException("Value for condition cannot be null");
      }
      criteria.add(new Criterion(condition));
    }

    protected void addCriterion(String condition, Object value, String property) {
      if (value == null) {
 throw new RuntimeException("Value for " + property + " cannot be null");
      }
      criteria.add(new Criterion(condition, value));
    }

    protected void addCriterion(String condition, Object value1, Object value2, String property) {
      if (value1 == null || value2 == null) {
 throw new RuntimeException("Between values for " + property + " cannot be null");
      }
      criteria.add(new Criterion(condition, value1, value2));
    }

    public Criteria andIdIsNull() {
      addCriterion("id is null");
      return (Criteria) this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion("id is not null");
      return (Criteria) this;
    }

    public Criteria andIdEqualTo(Integer value) {
      addCriterion("id =", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotEqualTo(Integer value) {
      addCriterion("id <>", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdGreaterThan(Integer value) {
      addCriterion("id >", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdGreaterThanOrEqualTo(Integer value) {
      addCriterion("id >=", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdLessThan(Integer value) {
      addCriterion("id <", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdLessThanOrEqualTo(Integer value) {
      addCriterion("id <=", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdIn(List values) {
      addCriterion("id in", values, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotIn(List values) {
      addCriterion("id not in", values, "id");
      return (Criteria) this;
    }

    public Criteria andIdBetween(Integer value1, Integer value2) {
      addCriterion("id between", value1, value2, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotBetween(Integer value1, Integer value2) {
      addCriterion("id not between", value1, value2, "id");
      return (Criteria) this;
    }

    public Criteria andNameIsNull() {
      addCriterion("NAME is null");
      return (Criteria) this;
    }

    public Criteria andNameIsNotNull() {
      addCriterion("NAME is not null");
      return (Criteria) this;
    }

    public Criteria andNameEqualTo(String value) {
      addCriterion("NAME =", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotEqualTo(String value) {
      addCriterion("NAME <>", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameGreaterThan(String value) {
      addCriterion("NAME >", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameGreaterThanOrEqualTo(String value) {
      addCriterion("NAME >=", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLessThan(String value) {
      addCriterion("NAME <", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLessThanOrEqualTo(String value) {
      addCriterion("NAME <=", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLike(String value) {
      addCriterion("NAME like", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotLike(String value) {
      addCriterion("NAME not like", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameIn(List values) {
      addCriterion("NAME in", values, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotIn(List values) {
      addCriterion("NAME not in", values, "name");
      return (Criteria) this;
    }

    public Criteria andNameBetween(String value1, String value2) {
      addCriterion("NAME between", value1, value2, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotBetween(String value1, String value2) {
      addCriterion("NAME not between", value1, value2, "name");
      return (Criteria) this;
    }

    public Criteria andSexIsNull() {
      addCriterion("sex is null");
      return (Criteria) this;
    }

    public Criteria andSexIsNotNull() {
      addCriterion("sex is not null");
      return (Criteria) this;
    }

    public Criteria andSexEqualTo(String value) {
      addCriterion("sex =", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotEqualTo(String value) {
      addCriterion("sex <>", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexGreaterThan(String value) {
      addCriterion("sex >", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexGreaterThanOrEqualTo(String value) {
      addCriterion("sex >=", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLessThan(String value) {
      addCriterion("sex <", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLessThanOrEqualTo(String value) {
      addCriterion("sex <=", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLike(String value) {
      addCriterion("sex like", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotLike(String value) {
      addCriterion("sex not like", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexIn(List values) {
      addCriterion("sex in", values, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotIn(List values) {
      addCriterion("sex not in", values, "sex");
      return (Criteria) this;
    }

    public Criteria andSexBetween(String value1, String value2) {
      addCriterion("sex between", value1, value2, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotBetween(String value1, String value2) {
      addCriterion("sex not between", value1, value2, "sex");
      return (Criteria) this;
    }

    public Criteria andAgeIsNull() {
      addCriterion("age is null");
      return (Criteria) this;
    }

    public Criteria andAgeIsNotNull() {
      addCriterion("age is not null");
      return (Criteria) this;
    }

    public Criteria andAgeEqualTo(String value) {
      addCriterion("age =", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotEqualTo(String value) {
      addCriterion("age <>", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeGreaterThan(String value) {
      addCriterion("age >", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeGreaterThanOrEqualTo(String value) {
      addCriterion("age >=", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLessThan(String value) {
      addCriterion("age <", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLessThanOrEqualTo(String value) {
      addCriterion("age <=", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLike(String value) {
      addCriterion("age like", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotLike(String value) {
      addCriterion("age not like", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeIn(List values) {
      addCriterion("age in", values, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotIn(List values) {
      addCriterion("age not in", values, "age");
      return (Criteria) this;
    }

    public Criteria andAgeBetween(String value1, String value2) {
      addCriterion("age between", value1, value2, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotBetween(String value1, String value2) {
      addCriterion("age not between", value1, value2, "age");
      return (Criteria) this;
    }
  }

  public static class Criteria extends GeneratedCriteria {

    protected Criteria() {
      super();
    }
  }

  public static class Criterion {
    private String condition;

    private Object value;

    private Object secondValue;

    private boolean noValue;

    private boolean singlevalue;

    private boolean betweenValue;

    private boolean listValue;

    private String typeHandler;

    public String getCondition() {
      return condition;
    }

    public Object getValue() {
      return value;
    }

    public Object getSecondValue() {
      return secondValue;
    }

    public boolean isNoValue() {
      return noValue;
    }

    public boolean isSinglevalue() {
      return singlevalue;
    }

    public boolean isBetweenValue() {
      return betweenValue;
    }

    public boolean isListValue() {
      return listValue;
    }

    public String getTypeHandler() {
      return typeHandler;
    }

    protected Criterion(String condition) {
      super();
      this.condition = condition;
      this.typeHandler = null;
      this.noValue = true;
    }

    protected Criterion(String condition, Object value, String typeHandler) {
      super();
      this.condition = condition;
      this.value = value;
      this.typeHandler = typeHandler;
      if (value instanceof List) {
 this.listValue = true;
      } else {
 this.singlevalue = true;
      }
    }

    protected Criterion(String condition, Object value) {
      this(condition, value, null);
    }

    protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
      super();
      this.condition = condition;
      this.value = value;
      this.secondValue = secondValue;
      this.typeHandler = typeHandler;
      this.betweenValue = true;
    }

    protected Criterion(String condition, Object value, Object secondValue) {
      this(condition, value, secondValue, null);
    }
  }
}

2.3 生成studentMapper.java

package com.sx.kak.po;

import java.util.ArrayList;
import java.util.List;

public class StudentExample {
  protected String orderByClause;

  protected boolean distinct;

  protected List oredCriteria;

  public StudentExample() {
    oredCriteria = new ArrayList();
  }

  public void setOrderByClause(String orderByClause) {
    this.orderByClause = orderByClause;
  }

  public String getOrderByClause() {
    return orderByClause;
  }

  public void setDistinct(boolean distinct) {
    this.distinct = distinct;
  }

  public boolean isDistinct() {
    return distinct;
  }

  public List getOredCriteria() {
    return oredCriteria;
  }

  public void or(Criteria criteria) {
    oredCriteria.add(criteria);
  }

  public Criteria or() {
    Criteria criteria = createCriteriaInternal();
    oredCriteria.add(criteria);
    return criteria;
  }

  public Criteria createCriteria() {
    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    Criteria criteria = new Criteria();
    return criteria;
  }

  public void clear() {
    oredCriteria.clear();
    orderByClause = null;
    distinct = false;
  }

  protected abstract static class GeneratedCriteria {
    protected List criteria;

    protected GeneratedCriteria() {
      super();
      criteria = new ArrayList();
    }

    public boolean isValid() {
      return criteria.size() > 0;
    }

    public List getAllCriteria() {
      return criteria;
    }

    public List getCriteria() {
      return criteria;
    }

    protected void addCriterion(String condition) {
      if (condition == null) {
 throw new RuntimeException("Value for condition cannot be null");
      }
      criteria.add(new Criterion(condition));
    }

    protected void addCriterion(String condition, Object value, String property) {
      if (value == null) {
 throw new RuntimeException("Value for " + property + " cannot be null");
      }
      criteria.add(new Criterion(condition, value));
    }

    protected void addCriterion(String condition, Object value1, Object value2, String property) {
      if (value1 == null || value2 == null) {
 throw new RuntimeException("Between values for " + property + " cannot be null");
      }
      criteria.add(new Criterion(condition, value1, value2));
    }

    public Criteria andIdIsNull() {
      addCriterion("id is null");
      return (Criteria) this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion("id is not null");
      return (Criteria) this;
    }

    public Criteria andIdEqualTo(Integer value) {
      addCriterion("id =", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotEqualTo(Integer value) {
      addCriterion("id <>", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdGreaterThan(Integer value) {
      addCriterion("id >", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdGreaterThanOrEqualTo(Integer value) {
      addCriterion("id >=", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdLessThan(Integer value) {
      addCriterion("id <", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdLessThanOrEqualTo(Integer value) {
      addCriterion("id <=", value, "id");
      return (Criteria) this;
    }

    public Criteria andIdIn(List values) {
      addCriterion("id in", values, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotIn(List values) {
      addCriterion("id not in", values, "id");
      return (Criteria) this;
    }

    public Criteria andIdBetween(Integer value1, Integer value2) {
      addCriterion("id between", value1, value2, "id");
      return (Criteria) this;
    }

    public Criteria andIdNotBetween(Integer value1, Integer value2) {
      addCriterion("id not between", value1, value2, "id");
      return (Criteria) this;
    }

    public Criteria andNameIsNull() {
      addCriterion("NAME is null");
      return (Criteria) this;
    }

    public Criteria andNameIsNotNull() {
      addCriterion("NAME is not null");
      return (Criteria) this;
    }

    public Criteria andNameEqualTo(String value) {
      addCriterion("NAME =", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotEqualTo(String value) {
      addCriterion("NAME <>", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameGreaterThan(String value) {
      addCriterion("NAME >", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameGreaterThanOrEqualTo(String value) {
      addCriterion("NAME >=", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLessThan(String value) {
      addCriterion("NAME <", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLessThanOrEqualTo(String value) {
      addCriterion("NAME <=", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameLike(String value) {
      addCriterion("NAME like", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotLike(String value) {
      addCriterion("NAME not like", value, "name");
      return (Criteria) this;
    }

    public Criteria andNameIn(List values) {
      addCriterion("NAME in", values, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotIn(List values) {
      addCriterion("NAME not in", values, "name");
      return (Criteria) this;
    }

    public Criteria andNameBetween(String value1, String value2) {
      addCriterion("NAME between", value1, value2, "name");
      return (Criteria) this;
    }

    public Criteria andNameNotBetween(String value1, String value2) {
      addCriterion("NAME not between", value1, value2, "name");
      return (Criteria) this;
    }

    public Criteria andSexIsNull() {
      addCriterion("sex is null");
      return (Criteria) this;
    }

    public Criteria andSexIsNotNull() {
      addCriterion("sex is not null");
      return (Criteria) this;
    }

    public Criteria andSexEqualTo(String value) {
      addCriterion("sex =", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotEqualTo(String value) {
      addCriterion("sex <>", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexGreaterThan(String value) {
      addCriterion("sex >", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexGreaterThanOrEqualTo(String value) {
      addCriterion("sex >=", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLessThan(String value) {
      addCriterion("sex <", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLessThanOrEqualTo(String value) {
      addCriterion("sex <=", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexLike(String value) {
      addCriterion("sex like", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotLike(String value) {
      addCriterion("sex not like", value, "sex");
      return (Criteria) this;
    }

    public Criteria andSexIn(List values) {
      addCriterion("sex in", values, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotIn(List values) {
      addCriterion("sex not in", values, "sex");
      return (Criteria) this;
    }

    public Criteria andSexBetween(String value1, String value2) {
      addCriterion("sex between", value1, value2, "sex");
      return (Criteria) this;
    }

    public Criteria andSexNotBetween(String value1, String value2) {
      addCriterion("sex not between", value1, value2, "sex");
      return (Criteria) this;
    }

    public Criteria andAgeIsNull() {
      addCriterion("age is null");
      return (Criteria) this;
    }

    public Criteria andAgeIsNotNull() {
      addCriterion("age is not null");
      return (Criteria) this;
    }

    public Criteria andAgeEqualTo(String value) {
      addCriterion("age =", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotEqualTo(String value) {
      addCriterion("age <>", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeGreaterThan(String value) {
      addCriterion("age >", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeGreaterThanOrEqualTo(String value) {
      addCriterion("age >=", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLessThan(String value) {
      addCriterion("age <", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLessThanOrEqualTo(String value) {
      addCriterion("age <=", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeLike(String value) {
      addCriterion("age like", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotLike(String value) {
      addCriterion("age not like", value, "age");
      return (Criteria) this;
    }

    public Criteria andAgeIn(List values) {
      addCriterion("age in", values, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotIn(List values) {
      addCriterion("age not in", values, "age");
      return (Criteria) this;
    }

    public Criteria andAgeBetween(String value1, String value2) {
      addCriterion("age between", value1, value2, "age");
      return (Criteria) this;
    }

    public Criteria andAgeNotBetween(String value1, String value2) {
      addCriterion("age not between", value1, value2, "age");
      return (Criteria) this;
    }
  }

  public static class Criteria extends GeneratedCriteria {

    protected Criteria() {
      super();
    }
  }

  public static class Criterion {
    private String condition;

    private Object value;

    private Object secondValue;

    private boolean noValue;

    private boolean singlevalue;

    private boolean betweenValue;

    private boolean listValue;

    private String typeHandler;

    public String getCondition() {
      return condition;
    }

    public Object getValue() {
      return value;
    }

    public Object getSecondValue() {
      return secondValue;
    }

    public boolean isNoValue() {
      return noValue;
    }

    public boolean isSinglevalue() {
      return singlevalue;
    }

    public boolean isBetweenValue() {
      return betweenValue;
    }

    public boolean isListValue() {
      return listValue;
    }

    public String getTypeHandler() {
      return typeHandler;
    }

    protected Criterion(String condition) {
      super();
      this.condition = condition;
      this.typeHandler = null;
      this.noValue = true;
    }

    protected Criterion(String condition, Object value, String typeHandler) {
      super();
      this.condition = condition;
      this.value = value;
      this.typeHandler = typeHandler;
      if (value instanceof List) {
 this.listValue = true;
      } else {
 this.singlevalue = true;
      }
    }

    protected Criterion(String condition, Object value) {
      this(condition, value, null);
    }

    protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
      super();
      this.condition = condition;
      this.value = value;
      this.secondValue = secondValue;
      this.typeHandler = typeHandler;
      this.betweenValue = true;
    }

    protected Criterion(String condition, Object value, Object secondValue) {
      this(condition, value, secondValue, null);
    }
  }
}

2.4 生成StudentMapper.xml




 
  
  
  
  
 
 
  
   
    
     
      

 
  and ${criterion.condition}
 
 
  and ${criterion.condition} #{criterion.value}
 
 
  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
 
 
  and ${criterion.condition}
  
   #{listItem}
  
 

      
     
    
   
  
 
 
  
   
    
     
      

 
  and ${criterion.condition}
 
 
  and ${criterion.condition} #{criterion.value}
 
 
  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
 
 
  and ${criterion.condition}
  
   #{listItem}
  
 

      
     
    
   
  
 
 
  id, NAME, sex, age
 
 
  select 
  
  from student
  where id = #{id,jdbcType=INTEGER}
 
 
  delete from student
  where id = #{id,jdbcType=INTEGER}
 
 
  delete from student
  
   
  
 
 
  insert into student (id, NAME, sex, 
   age)
  values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, 
   #{age,jdbcType=VARCHAR})
 
 
  insert into student
  
   
    id,
   
   
    NAME,
   
   
    sex,
   
   
    age,
   
  
  
   
    #{id,jdbcType=INTEGER},
   
   
    #{name,jdbcType=VARCHAR},
   
   
    #{sex,jdbcType=VARCHAR},
   
   
    #{age,jdbcType=VARCHAR},