Example一些常用写法

Example的一些常用方法

1、 创建数据库

/*
 Navicat Premium Data Transfer

 Source Server         : 192.168.1.100
 Source Server Type    : MySQL
 Source Server Version : 50621
 Source Host           : 192.168.1.100:3306
 Source Schema         : ag_admin_v6

 Target Server Type    : MySQL
 Target Server Version : 50621
 File Encoding         : 65001

 Date: 24/06/2020 16:18:58
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for upd_log
-- ----------------------------
DROP TABLE IF EXISTS `upd_log`;
CREATE TABLE `upd_log`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '版本更新日志id',
  `version_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '版本号',
  `update_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT '版本更新内容',
  `update_status` int(11) NULL DEFAULT NULL COMMENT '版本更新状态1:未更新。2.已经更新',
  `update_time` datetime(0) NULL DEFAULT NULL COMMENT '版本更新时间',
  `show_day` int(11) NULL DEFAULT NULL COMMENT '版本更新在首页展示天数',
  `del_status` int(11) NULL DEFAULT NULL COMMENT '删除状态.1:未删除。2.已经删除',
  `crt_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `crt_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人ID',
  `crt_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `crt_host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建IP',
  `upd_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `upd_user` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人ID',
  `upd_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `upd_host` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新IP',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '更新的日志记录表' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of upd_log
-- ----------------------------
INSERT INTO `upd_log` VALUES (1, '1.1.1', '版本更', 2, '2020-06-24 13:16:08', NULL, NULL, '2020-06-24 10:56:05', '1', '超级管理员', NULL, '2020-06-24 13:30:23', '1', '超级管理员', NULL);
INSERT INTO `upd_log` VALUES (2, '1.1.2', '新版本更新', 1, NULL, NULL, NULL, '2020-06-24 13:31:15', '1', '超级管理员', NULL, '2020-06-24 13:31:58', '1', '超级管理员', NULL);

SET FOREIGN_KEY_CHECKS = 1;

2、 生成的实体类

package com.github.wxiaoqi.security.admin.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;


/**
 * 更新的日志记录表
 * 
 * @author qianlj
 * @email smallk13@163.com
 * @date 2020-06-23 18:20:26
 */
@Table(name = "upd_log")
public class UpdLog implements Serializable {
	private static final long serialVersionUID = 1L;
	
	    //版本更新日志id
    @Id
    private Integer id;
	
	    //版本号
    @Column(name = "version_number")
    private String versionNumber;
	
	    //版本更新内容
    @Column(name = "update_content")
    private String updateContent;
	
	    //版本更新状态1:未更新。2.已经更新
    @Column(name = "update_status")
    private Integer updateStatus;
	
	    //版本更新时间
    @Column(name = "update_time")
    private Date updateTime;
	
	    //版本更新在首页展示天数
    @Column(name = "show_day")
    private Integer showDay;
	
	    //删除状态.1:未删除。2.已经删除
    @Column(name = "del_status")
    private Integer delStatus;
	
	    //创建时间
    @Column(name = "crt_time")
    private Date crtTime;
	
	    //创建人ID
    @Column(name = "crt_user")
    private String crtUser;
	
	    //创建人
    @Column(name = "crt_name")
    private String crtName;
	
	    //创建IP
    @Column(name = "crt_host")
    private String crtHost;
	
	    //更新时间
    @Column(name = "upd_time")
    private Date updTime;
	
	    //更新人ID
    @Column(name = "upd_user")
    private String updUser;
	
	    //更新人
    @Column(name = "upd_name")
    private String updName;
	
	    //更新IP
    @Column(name = "upd_host")
    private String updHost;
	

	/**
	 * 设置:版本更新日志id
	 */
	public void setId(Integer id) {
		this.id = id;
	}
	/**
	 * 获取:版本更新日志id
	 */
	public Integer getId() {
		return id;
	}
	/**
	 * 设置:版本号
	 */
	public void setVersionNumber(String versionNumber) {
		this.versionNumber = versionNumber;
	}
	/**
	 * 获取:版本号
	 */
	public String getVersionNumber() {
		return versionNumber;
	}
	/**
	 * 设置:版本更新内容
	 */
	public void setUpdateContent(String updateContent) {
		this.updateContent = updateContent;
	}
	/**
	 * 获取:版本更新内容
	 */
	public String getUpdateContent() {
		return updateContent;
	}
	/**
	 * 设置:版本更新状态1:未更新。2.已经更新
	 */
	public void setUpdateStatus(Integer updateStatus) {
		this.updateStatus = updateStatus;
	}
	/**
	 * 获取:版本更新状态1:未更新。2.已经更新
	 */
	public Integer getUpdateStatus() {
		return updateStatus;
	}
	/**
	 * 设置:版本更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	/**
	 * 获取:版本更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}
	/**
	 * 设置:版本更新在首页展示天数
	 */
	public void setShowDay(Integer showDay) {
		this.showDay = showDay;
	}
	/**
	 * 获取:版本更新在首页展示天数
	 */
	public Integer getShowDay() {
		return showDay;
	}
	/**
	 * 设置:删除状态.1:未删除。2.已经删除
	 */
	public void setDelStatus(Integer delStatus) {
		this.delStatus = delStatus;
	}
	/**
	 * 获取:删除状态.1:未删除。2.已经删除
	 */
	public Integer getDelStatus() {
		return delStatus;
	}
	/**
	 * 设置:创建时间
	 */
	public void setCrtTime(Date crtTime) {
		this.crtTime = crtTime;
	}
	/**
	 * 获取:创建时间
	 */
	public Date getCrtTime() {
		return crtTime;
	}
	/**
	 * 设置:创建人ID
	 */
	public void setCrtUser(String crtUser) {
		this.crtUser = crtUser;
	}
	/**
	 * 获取:创建人ID
	 */
	public String getCrtUser() {
		return crtUser;
	}
	/**
	 * 设置:创建人
	 */
	public void setCrtName(String crtName) {
		this.crtName = crtName;
	}
	/**
	 * 获取:创建人
	 */
	public String getCrtName() {
		return crtName;
	}
	/**
	 * 设置:创建IP
	 */
	public void setCrtHost(String crtHost) {
		this.crtHost = crtHost;
	}
	/**
	 * 获取:创建IP
	 */
	public String getCrtHost() {
		return crtHost;
	}
	/**
	 * 设置:更新时间
	 */
	public void setUpdTime(Date updTime) {
		this.updTime = updTime;
	}
	/**
	 * 获取:更新时间
	 */
	public Date getUpdTime() {
		return updTime;
	}
	/**
	 * 设置:更新人ID
	 */
	public void setUpdUser(String updUser) {
		this.updUser = updUser;
	}
	/**
	 * 获取:更新人ID
	 */
	public String getUpdUser() {
		return updUser;
	}
	/**
	 * 设置:更新人
	 */
	public void setUpdName(String updName) {
		this.updName = updName;
	}
	/**
	 * 获取:更新人
	 */
	public String getUpdName() {
		return updName;
	}
	/**
	 * 设置:更新IP
	 */
	public void setUpdHost(String updHost) {
		this.updHost = updHost;
	}
	/**
	 * 获取:更新IP
	 */
	public String getUpdHost() {
		return updHost;
	}
}

3、编写代码

3.1、根据某个或者多个条件并且(AND)查询

		Example example = new Example(UpdLog.class);
    	Criteria createCriteria = example.createCriteria();
    	createCriteria.andEqualTo("crtUser", 1);//设置用户id
    	createCriteria.andEqualTo("updateStatus", 1);//设置状态
    	List<UpdLog> updLogList = updLogMapper.selectByExample(example);

相当于:select * from upd_log where crt_user = 1 and update_status = 1;

3.2、根据某个条件不等于(!=)进行查询

		Example example = new Example(UpdLog.class);
    	Criteria createCriteria = example.createCriteria();
    	createCriteria.andEqualTo("crtUser", 1);//设置用户id
    	createCriteria.andNotEqualTo("updateStatus", 1);//设置状态
    	List<UpdLog> updLogList = updLogMapper.selectByExample(example);

相当于:select * from upd_log where crt_user = 1 and update_status != 1;

3.3、根据多个条件或者(OR)进行查询

		Example example = new Example(UpdLog.class);
    	Criteria createCriteria1 = example.createCriteria();
    	Criteria createCriteria2 = example.createCriteria();
    	Criteria createCriteria3 = example.createCriteria();
    	createCriteria1.andEqualTo("crtUser", 1);//设置创建用户id
    	createCriteria2.andEqualTo("updateStatus", 2);//设置状态
    	createCriteria3.andEqualTo("updUser", 1);//设置更新用户id

		example.or(createCriteria2);
    	example.or(createCriteria3);
    	List<UpdLog> updLogList = updLogMapper.selectByExample(example);

相当于:select * from upd_log where crt_user = 1 or update_status = 2 or upd_user = 2;

3.4、排序

		Example example = new Example(UpdLog.class);
    	Criteria createCriteria = example.createCriteria();
    	example.setOrderByClause("crt_time desc");//根据crt_time 升序。crt_time 要与数据库中字段名一致
    	createCriteria.andEqualTo("crtUser", 1);//设置创建用户id
    	List<UpdLog> updLogList = updLogMapper.selectByExample(example);

相当于:select * from upd_log where crt_user = 1 ORDER BY crt_time DESC;

3.5、模糊查询

		String str = "新";
		Example example = new Example(UpdLog.class);
    	Criteria createCriteria = example.createCriteria();
    	createCriteria.andEqualTo("crtUser", 1);//设置创建用户id
    	createCriteria.andLike("updateContent", "%"+str+"%");
    	List<UpdLog> updLogList = updLogMapper.selectByExample(example);

相当于:SELECT * FROM upd_log WHERE crt_user = 1 AND update_content LIKE “%新%”;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值