当前位置: 首页 > news >正文

帝国cms网站搬家教程ps网页素材

帝国cms网站搬家教程,ps网页素材,云主机如何做网站,没有公司可以注册网站吗目录 前言1. Mybatis2. MybatisPlus3. 实战 前言 更多的知识点推荐阅读: 【Java项目】实战CRUD的功能整理(持续更新)java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全) 本章节主要以Demo为例&#xff…

目录

  • 前言
  • 1. Mybatis
  • 2. MybatisPlus
  • 3. 实战

前言

更多的知识点推荐阅读:

  1. 【Java项目】实战CRUD的功能整理(持续更新)
  2. java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)

本章节主要以Demo为例,直奔主题,对于更多的基本知识可看我的框架架构

1. Mybatis

主要的逻辑从外往深走,具体如下:

  1. 创建一个Java类,实现业务逻辑,在该类中调用上述接口中的方法获取分页数据并构建PageResult对象返回
  2. 创建一个Java接口,声明两个方法,分别用于执行这两个查询语句
  3. 创建XML映射文件,定义两个查询语句,分别用于获取分页列表和总记录数

主体代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.system.mapper.UserMapper"><select id="fetchCustomPageResults"resultType="com.example.system.model.UserModel" >SELECT * FROM users<where><if test="criteria.name != null and criteria.name !=''">AND name LIKE CONCAT('%',#{criteria.name},'%')</if><if test="criteria.createTime != null">AND create_time BETWEEN #{criteria.createTime[0]}, #{criteria.createTime[1]},</if><if test="criteria.status != null">AND status = #{criteria.status}</if></where>ORDER BY id DESCLIMIT #{criteria.pageNumber}, #{criteria.pageSize}</select><select id="fetchCustomTotalCount" resultType="Long" >SELECT COUNT(1) FROM users<where><if test="criteria.name != null and criteria.name !=''">AND name LIKE CONCAT('%',#{criteria.name},'%')</if><if test="criteria.createTime != null">AND create_time BETWEEN #{criteria.createTime[0]}, #{criteria.createTime[1]},</if><if test="criteria.status != null">AND status = #{criteria.status}</if></where></select></mapper>
@Mapper
public interface CustomUserMapper extends BaseMapperX<UserModel> {/*** 获取自定义分页结果*/List<UserModel> fetchCustomPageResults(@Param("criteria") UserCriteria criteria);/*** 获取自定义总记录数*/Long fetchCustomTotalCount(@Param("criteria") UserCriteria criteria);}@Service
@Slf4j
public class CustomUserService {@Overridepublic PageResult<UserModel> fetchCustomUserPage(UserCriteria criteria) {return new PageResult<>(userMapper.fetchCustomPageResults(criteria),userMapper.fetchCustomTotalCount(criteria));}
}

对应实现类如下:

@Service
@Slf4j
public class CustomUserServiceImpl implements CustomUserService{private final CustomUserMapper userMapper;@Autowiredpublic CustomUserService(CustomUserMapper userMapper) {this.userMapper = userMapper;}@Overridepublic PageResult<UserModel> fetchCustomUserPage(UserCriteria criteria) {return new PageResult<>(userMapper.fetchCustomPageResults(criteria),userMapper.fetchCustomTotalCount(criteria));}
}

以上的Demo提供一个框架思路

2. MybatisPlus

具体代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.system.mapper.AdminUserMapper"><select id="fetchCustomPageResults"resultType="com.example.system.model.UserModel" >SELECT * FROM users<where><if test="criteria.name != null and criteria.name !=''">AND username LIKE CONCAT('%',#{criteria.name},'%')</if><if test="criteria.createTime != null">AND create_time BETWEEN #{criteria.createTime[0]}, #{criteria.createTime[1]},</if><if test="criteria.status != null">AND status = #{criteria.status}</if></where>ORDER BY id DESC</select></mapper>
@Mapper
public interface CustomAdminUserMapper extends BaseMapperX<UserModel> {IPage<UserModel> fetchCustomPageResults(IPage<UserModel> page, @Param("criteria") UserCriteria criteria);}

其实现类如下:

@Service
@Slf4j
public class CustomUserServiceImpl implements CustomUserService{private final CustomAdminUserMapper userMapper;@Autowiredpublic CustomAdminUserService(CustomAdminUserMapper userMapper) {this.userMapper = userMapper;}@Overridepublic PageResult<UserModel> fetchCustomUserPage(UserCriteria criteria) {// 必须使用 MyBatis Plus 的分页对象IPage<UserModel> page = new Page<>(criteria.getPageNo(), criteria.getPageSize());userMapper.fetchCustomPageResults(page, criteria);return new PageResult<>(page.getRecords(), page.getTotal());}
}

3. 实战

看Demo示例可能有些抽象,结合自身项目给一个示例

Controller类如下:

@GetMapping("/listByOrderId")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "分页", notes = "传入docheck")
public R<List<DoCheckVO>> list(Long orderId) {List<DoCheck> doChecks = docheckService.listByOrderId(orderId);return R.data(DocheckWrapper.build().listVO(doChecks));
}

对应的Service类如下:

List<DoCheck> listByOrderId(Long orderId);

其中的实现类如下:

@Override
public List<DoCheck> listByOrderId(Long orderId) {return docheckMapper.listByOrderId(orderId);
}

Mapper类如下:

List<DoCheck> listByOrderId(Long orderId);

对应的Xml代码如下:

<select id="listByOrderId" resultType="org.springblade.equipment.entity.DoCheck">select * from equipment_check_order_docheck  where is_deleted = 0 and check_order_id=#{orderId}
</select>

其中xml的上文如下:

在这里插入图片描述

http://www.yayakq.cn/news/355327/

相关文章:

  • 阿里云网站备案要多久厦门外发加工网
  • 备案做电影网站公司网站域名查询
  • 网站内容模板重庆免费建站
  • 接入商 济南网站建设珠宝网站建商台北
  • 河北省建设厅官方网站 官网住房和城乡建设部网站办事大厅
  • 济南外贸网站制作9377游戏盒子
  • 免费个人网站怎么制作东莞建设工程招标网
  • 重庆官方网站查询系统滨州哪里有做网站的
  • 代理国外网站flash是怎么做网站的
  • 做网站的流程是怎么样的对网站建设和维护好学吗
  • 湖州城市投资建设集团网站河南住房和城乡建设厅网站资质
  • 网站做哪家最专业广州建设工程合同司法解释
  • vue做网站的好处重庆市建筑工程
  • 景点网站怎么做如何做自己网站平台
  • 淘宝客网站怎么做推广计划外贸开发产品网站建设
  • html5 服装网站商标注册号怎么申请
  • 淘宝客做网站备注怎么写的wordpress 总页码数
  • 推荐几个好的网站什么网站详情页做的好
  • 网站建设公司如何拓宽业务做羞羞事网站
  • 龙岗做网站公司icxun宁波建网站模板
  • 家具企业网站模板学校官网网站建设的现状分析
  • 展厅效果图网站在线制作图片美图
  • 济南建站优化深圳比较好的ui设计公司
  • 巫溪网站建设企业网站建设文案
  • 嘉峪关市住房和城乡建设局网站做公益网站的说明
  • 哪个网站可以做医学基础知识题dw做的网站如何上传图片
  • 网站上如何做相关推荐钦州网站建设公司哪家好
  • 网站 手机 app建个网站的电话
  • 呈贡网站建设河南网站建设及推广
  • 互联网网站定位承德建设银行网站