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

西安高端网站制作公司哪家好网站建设排名优化

西安高端网站制作公司哪家好,网站建设排名优化,2022永久免费客服系统,人人设计网官方网站目录 1.BaseMapper 2. 基本CRUD 1. 插入一条记录 2. 删除 1>. 根据ID删除 2>. 根据实体(ID)删除 3>. 根据columnMap条件删除 4>. 根据entity条件删除 5>. 根据ID批量删除 3. 修改 1>. 根据ID修改 2>. 根据whereEntity条…

目录

1.BaseMapper

2. 基本CRUD 

1. 插入一条记录

2. 删除

1>. 根据ID删除

2>. 根据实体(ID)删除

3>. 根据columnMap条件删除

4>. 根据entity条件删除

5>. 根据ID批量删除

3. 修改

1>. 根据ID修改

2>. 根据whereEntity条件更改

4. 查询

1>. 根据ID查询

2>. 根据ID批量查询

3>. 根据columnMap条件查询

4>. 根据entity条件,查询一条记录

5>. 根据wrapper条件,查询总记录数

6>. 根据entity条件 ,查询全部记录

7>. 根据wrapper条件, 查询全部记录,封装map

8>. 根据wrapper条件,查询全部记录,返回第一个字段值

9>. 根据entity条件,查询全部记录并翻页

10>. 根据wrapper条件,查询全部记录并翻页


1.BaseMapper

        MyBatis-Plus中的基本CRUD在内置的BaseMapper中都已得到了实现,我们可以直接使用,接口如下:

package com.baomidou.mybatisplus.core.mapper;public interface BaseMapper<T> extends Mapper<T> {/*** 插入一条记录* @param entity 实体对象 */int insert(T entity);/*** 根据 ID 删除* @param id 主键ID */int deleteById(Serializable id);/*** 根据实体(ID)删除* @param entity 实体对象* @since 3.4.4 */int deleteById(T entity);/*** 根据 columnMap 条件,删除记录* @param columnMap 表字段 map 对象 */int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);/*** 根据 entity 条件,删除记录* @param queryWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where语句)*/int delete(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 删除(根据ID 批量删除)* @param idList 主键ID列表(不能为 null 以及 empty) */int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);/*** 根据 ID 修改* @param entity 实体对象 */int updateById(@Param(Constants.ENTITY) T entity);/*** 根据 whereEntity 条件,更新记录* @param entity        实体对象 (set 条件值 ,可以为 null)* @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成where 语句)*/int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);/*** 根据 ID 查询* @param id 主键ID */T selectById(Serializable id);/*** 查询(根据ID 批量查询)* @param idList 主键ID列表(不能为 null 以及 empty) */List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);/*** 查询(根据 columnMap 条件)* @param columnMap 表字段 map 对象 */List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);/*** 根据 entity 条件,查询一条记录* <p>查询一条记录,例如 qw.last("limit 1") 限制取一条记录 , 注意:多条数据会报异常 </p>* @param queryWrapper 实体对象封装操作类(可以为 null)*/default T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper) { List<T> ts = this.selectList(queryWrapper);if (CollectionUtils.isNotEmpty(ts)) {if (ts.size() != 1) {throw ExceptionUtils.mpe("One record is expected, but the query result is multiple records");}return ts.get(0);}return null;}/*** 根据 Wrapper 条件,查询总记录数* @param queryWrapper 实体对象封装操作类(可以为 null) */Long selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 根据 entity 条件,查询全部记录* @param queryWrapper 实体对象封装操作类(可以为 null) */List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 根据 Wrapper 条件,查询全部记录* @param queryWrapper 实体对象封装操作类(可以为 null) */List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 根据 Wrapper 条件,查询全部记录* <p>注意: 只返回第一个字段的值</p>* @param queryWrapper 实体对象封装操作类(可以为 null) */List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 根据 entity 条件,查询全部记录(并翻页)* @param page         分页查询条件(可以为 RowBounds.DEFAULT)* @param queryWrapper 实体对象封装操作类(可以为 null) */<P extends IPage<T>> P selectPage(P page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);/*** 根据 Wrapper 条件,查询全部记录(并翻页)* @param page         分页查询条件* @param queryWrapper 实体对象封装操作类 */<P extends IPage<Map<String, Object>>> P selectMapsPage(P page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
}

2. 基本CRUD 

1. 插入一条记录

原码:

/**
* 插入一条记录
* @param entity 实体对象 */
int insert(T entity);

 测试: 

@Testpublic void testInsert(){User user = new User(null, "张三", 23, "zhangsan@qcby.com");//INSERT INTO user ( id, name, age, email ) VALUES ( ?, ?, ?, ? )int result = userMapper.insert(user);System.out.println("受影响行数:"+result);//1475754982694199298System.out.println("id自动获取:"+user.getId());}

 

 最终执行的结果,所获取的id为1903360524240498689

        这是因为MyBatis-Plus在实现插入数据时,会默认基于雪花算法的策略生成id。

2. 删除

1>. 根据ID删除

原码:

/**
* 根据 ID 删除
* @param id 主键ID */
int deleteById(Serializable id);

测试: 

@Test
public void testDeleteById(){//通过id删除用户信息//DELETE FROM user WHERE id=?int result = userMapper.deleteById(1903360524240498689L);System.out.println("受影响行数:"+result);
}

 

2>. 根据实体(ID)删除

原码:

/**
* 根据实体(ID)删除
* @param entity 实体对象
* @since 3.4.4 */
int deleteById(T entity);

测试: 

/**** 根据用户ID删除*/@Testpublic void deleteByUserID(){int result=userMapper.deleteById(8L);System.out.println("受影响的行数:"+result);}

 

3>. 根据columnMap条件删除

原码:

/**
* 根据 columnMap 条件,删除记录
* @param columnMap 表字段 map 对象 */
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

测试: 

@Test
public void testDeleteByMap(){//根据map集合中所设置的条件删除记录//DELETE FROM user WHERE name = ? AND age = ?Map<String, Object> map = new HashMap<>();map.put("age", 23);map.put("name", "张三");int result = userMapper.deleteByMap(map);System.out.println("受影响行数:"+result);
}

 

4>. 根据entity条件删除

原码:

/**
* 根据 entity 条件,删除记录
* @param queryWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where
语句)
*/
int delete(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试: 

	/**** 根据entity条件,删除记录*/@Testpublic void deleteByEntity(){User user=new User();user.setName("nn");user.setAge(22);QueryWrapper<User> queryWrapper=new QueryWrapper<>(user);int result=userMapper.delete(queryWrapper);System.out.println("受影响的行数:"+result);}

5>. 根据ID批量删除

原码:

/**
* 删除(根据ID 批量删除)
* @param idList 主键ID列表(不能为 null 以及 empty) */
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

测试: 

@Test
public void testDeleteBatchIds(){//通过多个id批量删除//DELETE FROM user WHERE id IN ( ? , ? , ? )List<Long> idList = Arrays.asList(1L, 2L, 3L);int result = userMapper.deleteBatchIds(idList);System.out.println("受影响行数:"+result);
}

 

 

3. 修改

1>. 根据ID修改

原码:

/**
* 根据 ID 修改
* @param entity 实体对象 */
int updateById(@Param(Constants.ENTITY) T entity);

测试: 

@Test
public void testUpdateById(){User user = new User(4L, "admin", 22, null);//UPDATE user SET name=?, age=? WHERE id=?int result = userMapper.updateById(user);System.out.println("受影响行数:"+result);
}

 

2>. 根据whereEntity条件更改

原码:

/**
* 根据 whereEntity 条件,更新记录
* @param entity        实体对象 (set 条件值 ,可以为 null)
* @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成
where 语句)
*/
int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);

测试:

/**** 根据whereEntity条件更新*/@Testpublic void testUpdateByWhere(){User updateUser=new User();updateUser.setName("Updated");updateUser.setAge(30);User oldUser=new User();oldUser.setName("丽丽");oldUser.setAge(33);UpdateWrapper<User> updateWrapper=new UpdateWrapper<>(oldUser);int result=userMapper.update(updateUser,updateWrapper);System.out.println("受影响行数:"+result);}

 

4. 查询

1>. 根据ID查询

原码:

/**
* 根据 ID 查询
* @param id 主键ID */
T selectById(Serializable id);

测试: 

@Test
public void testSelectById(){//根据id查询用户信息//SELECT id,name,age,email FROM user WHERE id=?User user = userMapper.selectById(4L);System.out.println(user);
}

 

2>. 根据ID批量查询

原码:

/**
* 查询(根据ID 批量查询)
* @param idList 主键ID列表(不能为 null 以及 empty) */
List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);

测试: 

@Test
public void testSelectBatchIds(){//根据多个id查询多个用户信息//SELECT id,name,age,email FROM user WHERE id IN ( ? , ? )List<Long> idList = Arrays.asList(4L, 5L);List<User> list = userMapper.selectBatchIds(idList);list.forEach(System.out::println);
}

         这里的foreach是lamda表达式的遍历语句。

3>. 根据columnMap条件查询

原码:

/**
* 查询(根据 columnMap 条件)
* @param columnMap 表字段 map 对象 */
List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);

测试:

@Test
public void testSelectByMap(){//通过map条件查询用户信息//SELECT id,name,age,email FROM user WHERE name = ? AND age = ?Map<String, Object> map = new HashMap<>();map.put("age", 22);map.put("name", "admin");List<User> list = userMapper.selectByMap(map);list.forEach(System.out::println);
}

 

4>. 根据entity条件,查询一条记录

原码:

/**
* 根据 entity 条件,查询一条记录
* <p>查询一条记录,例如 qw.last("limit 1") 限制取一条记录 , 注意:多条数据会报异常 </p>
* @param queryWrapper 实体对象封装操作类(可以为 null)
*/
default T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper) { List<T> ts = this.selectList(queryWrapper);
if (CollectionUtils.isNotEmpty(ts)) {
if (ts.size() != 1) {
throw ExceptionUtils.mpe("One record is expected, but the query result is multiple records");
}
return ts.get(0);
}
return null;
}

测试:

测试有多条记录的:

@Testpublic void testSelectByEntity(){User user=new User();user.setAge(22);//有两条记录QueryWrapper<User> queryWrapper=new QueryWrapper<>(user);System.out.println(userMapper.selectOne(queryWrapper));//会报错}

 

测试一条数据的:

@Testpublic void testSelectByEntity(){User user=new User();user.setAge(30);//有两条记录user.setName("Updated");QueryWrapper<User> queryWrapper=new QueryWrapper<>(user);System.out.println(userMapper.selectOne(queryWrapper));//会报错}

 

5>. 根据wrapper条件,查询总记录数

原码:

/**
* 根据 Wrapper 条件,查询总记录数
* @param queryWrapper 实体对象封装操作类(可以为 null) */
Long selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试:

 

/**** 根据Wrapper条件,查询总记录数*/@Testpublic void testByWrapper(){User user=new User();user.setAge(22);QueryWrapper<User> queryWrapper=new QueryWrapper<>(user);System.out.println(userMapper.selectCount(queryWrapper));}

 

6>. 根据entity条件 ,查询全部记录

原码:

/**
* 根据 entity 条件,查询全部记录
* @param queryWrapper 实体对象封装操作类(可以为 null) */
List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试:

 

@Testpublic void testSelectList1(){//查询所有用户信息//SELECT id,name,age,email FROM userList<User> list = userMapper.selectList(null);list.forEach(System.out::println);}

 

7>. 根据wrapper条件, 查询全部记录,封装map

原码:

/**
* 根据 Wrapper 条件,查询全部记录
* @param queryWrapper 实体对象封装操作类(可以为 null) */
List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试:

/**** 根据wrapper条件,查询全部记录*/@Testpublic void testDelectMaps(){List<Map<String,Object>> resultList=userMapper.selectMaps(null);// 输出查询结果for (Map<String, Object> result : resultList) {System.out.println(result);}}

8>. 根据wrapper条件,查询全部记录,返回第一个字段值

原码:

/**
* 根据 Wrapper 条件,查询全部记录
* <p>注意: 只返回第一个字段的值</p>
* @param queryWrapper 实体对象封装操作类(可以为 null) */
List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试:

 

/**** 根据wrapper条件,查询全部记录,返回第一个字段值*/@Testpublic void testSelectObjs(){List<Object> resultObjs=userMapper.selectObjs(null);for(Object o:resultObjs){System.out.println(o);}}

 

9>. 根据entity条件,查询全部记录并翻页

原码:

/**
* 根据 entity 条件,查询全部记录(并翻页)
* @param page         分页查询条件(可以为 RowBounds.DEFAULT)
* @param queryWrapper 实体对象封装操作类(可以为 null) */
<P extends IPage<T>> P selectPage(P page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

测试:

/**** 根据entity查询并翻页*/@Testpublic void testSelectPage(){Page<User> p=new Page<>(1,5);IPage<User> results=userMapper.selectPage(p,null);// 输出分页查询结果信息System.out.println("当前页: " + results.getCurrent());System.out.println("每页记录数: " + results.getSize());System.out.println("总记录数: " + results.getTotal());System.out.println("总页数: " + results.getPages());// 输出查询到的记录results.getRecords().forEach(user -> System.out.println(user));}

 

 getRecords() 是 IPage 接口的一个方法,用于获取分页查询结果中的数据记录集合。

user 是一个参数,表示集合中的每个元素。

10>. 根据wrapper条件,查询全部记录并翻页

原码:

/**
* 根据 Wrapper 条件,查询全部记录(并翻页)
* @param page         分页查询条件
* @param queryWrapper 实体对象封装操作类 */
<P extends IPage<Map<String, Object>>> P selectMapsPage(P page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);

 测试:

/**** 根据wrapper条件查询并翻页*/@Testpublic void testSelectMapsPage(){Page<Map<String,Object>> page=new Page<>();IPage<Map<String,Object>> results=userMapper.selectMapsPage(page,null);// 输出分页查询结果信息System.out.println("当前页: " + results.getCurrent());System.out.println("每页记录数: " + results.getSize());System.out.println("总记录数: " + results.getTotal());System.out.println("总页数: " + results.getPages());// 输出查询到的记录results.getRecords().forEach(record -> System.out.println(record));}

 

http://www.dtcms.com/wzjs/9369.html

相关文章:

  • 别人做网站要把什么要过来搜索引擎营销的主要模式有哪些
  • dhl网站做形式发票廊坊网站建设优化
  • 做网站第一部网站到首页排名
  • 青岛做网站费用百度优化seo
  • 专业做包装设计网站天津seo标准
  • php语言 电商网站建设沈阳关键词优化价格
  • 网站制作分工山东疫情最新情况
  • 理论网站建设实施方案百度一下你就知道百度一下
  • 有哪些网站或者公司招募做视频的最新战争新闻事件今天
  • 群晖安装wordpress汉化系统优化是什么意思
  • 网站留言板html代码搜索引擎在线
  • 找人做淘宝网站湖南长沙最新情况
  • 浏览器如何做购物网站百度一下首页网址
  • 做视频搬运工的网站网站建设免费
  • 网站架构企业收费标准哈尔滨企业网站seo
  • 旅游网站建设与规划艺术培训学校招生方案
  • 郑州网站建设排行榜百度关键词排名推广话术
  • 环保网站建设方案免费制作个人网站
  • 我做的网站服务器别人没法左键点击下载呢目前病毒的最新情况
  • 真做av网站北京seo推广
  • 优化网站要怎么做手机网站建设
  • 公司电脑为什么有的网站打不开顾问式营销
  • 做网站的工作量搜索引擎网站提交入口
  • 医院双语网站建设的意义网站的优化与推广分析
  • 做淘宝类网站的步骤优化怎么做
  • 哈尔滨做企业网站信息流推广的竞价机制是
  • 给个网站好人有好报2021建立网站的基本流程
  • 西昌新站seo百度购物平台客服电话
  • 产品详情页面设计福州seo推广外包
  • 长春自助建站模板百度发布信息的免费平台