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

网站返回首页怎么做创建网站站点

网站返回首页怎么做,创建网站站点,如何修改公司网站内容,网站地图模板MyBatis与MyBatisPlus的区别_涩即是Null的博客-CSDN博客 一、MyBatis-Plus的基本操作#xff08;BaseMapper#xff09; 注#xff1a;此测试运行于springboot环境中 新建UserMaper.java接口#xff0c;并继承 mybatis-plus的BaseMapper#xff1a; public interface User… MyBatis与MyBatisPlus的区别_涩即是Null的博客-CSDN博客 一、MyBatis-Plus的基本操作BaseMapper 注此测试运行于springboot环境中 新建UserMaper.java接口并继承 mybatis-plus的BaseMapper public interface UserMapper extends BaseMapperUser { } 在测试中自动注入UserMapper。 Autowired private UserMapper userMapper; 1.1 插入操作 Test public void testInsert(){User user new User();user.setUserName(ray);user.setName(雷东宸);user.setAge(18);user.setMail(123456789qq.com);user.setPassword(123456);int result this.userMapper.insert(user); // 数据库受影响的行数System.out.println(result result); } 1.2 更新操作 Test public void testUpdateById(){User user new User();user.setId(7L); // 根据id跟新,L表示long类型user.setAge(19); // 更新的字段int result this.userMapper.updateById(user);System.out.println(result result); } 1.3 删除操作 Test public void testDeleteByMap(){MapString, Object map new HashMap();map.put(user_name, ray);map.put(password, 123456);// 根据map删除数据不同条件之间是and关系this.userMapper.deleteByMap(map); } 1.4 查找操作 Test public void testSelectBatchIds(){this.userMapper.selectBatchIds(Arrays.asList(2L,3L,4L)); } 二、MyBatis-Plus的常用进阶操作Wrapper 数据库基本数据以下操作均基于此数据 2.1 dao实体类的相关注解 Data TableName(tb_user) public class User {TableId(type IdType.AUTO) private Long id;private String userName;TableField(select false) private String password;private String name;private Integer age;TableField(value email) private String mail;TableField(exist false) private String address; } 在这里我们就可以看到mybatis-plus中给我提供了很多便捷的注解 TableNametb_user因为在mybatis-plus中默认找的数据库表名是“数据库名.实体名”。但是我们的数据库表名tb_user与其不一致因此需要重新指定在数据库中的表名。 TableId (typeIdType.AUTO)若typeIdType.AUTO则表示id自增长。 TableFieldselectfalse表示查询时不返回该字段值用来保护用户的密码信息。 TableFieldvalueemail因为mail与我们数据库中存储的email字段并不匹配不是常规的驼峰命名直接查询会导致查询失败。可以使用value字段重新指定。 TableFieldexistfalse假如该字段我们后期可能会插入数据库但目前数据库还不存在该信息那么我们就可以使用exist字段先不查询该字段以防报错。 2.2 DB策略配置 springboot开发中在Application.properties可以添加如下配置 2.2.1 idType全局id自增长 实体中id自增长替代TableId注解 mybatis-plus.global-config.db-config.id-typeauto 这样在上面的实体类User中当我们需要很多自增长的字段时我们就不需要一个一个去配置TableIdtypeIdType.AUTO。 2.2.2 tablePrefix全局表名前缀 映射数据库表名替代TableName注解 mybatis-plus.global-config.db-config.table-prefixtb_ 我们数据库中的表为tb_User那么我们加一个前缀 tb_ 就可以实现自动映射。 2.3 条件构造器wrapper重要 条件构造器wrapper就是用来封装CRUD方法参数条件的一个接口它的继承关系如下 当然也可以打开源码包查看 说明: QueryWrapper(LambdaQueryWrapper) 和 UpdateWrapper(LambdaUpdateWrapper) 的父类用于生成 sql的 where 条件, entity 属性也用于生成 sql 的 where 条件。 注意: entity 生成的 where 条件与使用各个 api 生成 的 where 条件没有任何关联行为 。 2.3.1 allEq 利用条件构造器QuerryWrapper中的allEq去查找数据库对象allEq方法中封装的时map对象。 用法 allEq(MapR, V params) allEq(MapR, V params, boolean null2IsNull) allEq(boolean condition, MapR, V params, boolean null2IsNull) 测试代码 Test public void testAllEq() {MapString, Object params new HashMap();params.put(name, 李四);params.put(age, 20);params.put(password, null);QueryWrapperUser wrapper new QueryWrapper();wrapper.allEq(params, false); // 第二个参数false表示null值不作为查询条件ListUser users this.userMapper.selectList(wrapper);for (User user: users) {System.out.println(user);} } 测试结果 2.3.2 基本的比较操作 利用条件构造器的比较方法操作数据库。 eq 等于 ne 不等于 gt 大于 ge 大于等于 lt 小于 le 小于等于 between BETWEEN 值1 AND 值2 notBetween NOT BETWEEN 值1 AND 值2 in 字段 IN (value.get(0), value.get(1), ...) notIn 字段 NOT IN (v0, v1, ...) 测试代码举例 Test public void testEq() {QueryWrapperUser wrapper new QueryWrapper();wrapper.eq(password, 123456) // 密码等于 123456.ge(age, 20) // 年龄大于等于20.in(name, 李四, 王五, 赵六); // 在李四王五赵六中去查找ListUser users this.userMapper.selectList(wrapper);for (User user : users) {System.out.println(user);} } 运行结果 2.3.3 模糊查询 模糊查询操作数据库 like LIKE %值% 例: like(name, 王) --- name like %王% notLike NOT LIKE %值% 例: notLike(name, 王) --- name not like %王% likeLeft LIKE %值 例: likeLeft(name, 王) --- name like %王 likeRight LIKE 值% 例: likeRight(name, 王) --- name like 王% 测试代码 Test public void testWrapper() {QueryWrapperUser wrapper new QueryWrapper();wrapper.like(name, 李); //Parameters: %李%(String)ListUser users this.userMapper.selectList(wrapper);for (User user : users) {System.out.println(user);} } 运行结果 2.3.4 排序 对从数据库中的数据排序。 orderBy 排序ORDER BY 字段, ... 例: orderBy(true, true, id, name) --- order by id ASC,name ASC orderByAsc 排序ORDER BY 字段, ... ASC 例: orderByAsc(id, name) --- order by id ASC,name ASC orderByDesc 排序ORDER BY 字段, ... DESC 例: orderByDesc(id, name) --- order by id DESC,name DESC 测试代码 Test public void testWrapper() {QueryWrapperUser wrapper new QueryWrapper();wrapper.orderByDesc(age); // 按照年龄倒叙排序ListUser users this.userMapper.selectList(wrapper);for (User user : users) {System.out.println(user);} } 运行结果 2.3.5 逻辑查询 or 拼接 OR 主动调用 or 表示紧接着下一个方法不是用 and 连接!(不调用 or 则默认为使用 and 连接) and AND 嵌套 例: and(i - i.eq(name, 李白).ne(status, 活着)) --- and (name 李白 and status 活着) 测试代码 Test public void testWrapper() {QueryWrapperUser wrapper new QueryWrapper();wrapper.eq(name,李四).or().eq(age, 24); // 查找 姓名是李四 或者 年龄是24ListUser users this.userMapper.selectList(wrapper);for (User user : users) {System.out.println(user);} } 运行结果 2.3.6 select 在MP查询中默认查询所有的字段如果有需要也可以通过select方法进行指定字段。 测试代码 Test public void testWrapper() {QueryWrapperUser wrapper new QueryWrapper();wrapper.eq(name, 李四).or().eq(age, 24).select(id, name, age);ListUser users this.userMapper.selectList(wrapper);for (User user : users) {System.out.println(user);} } 运行结果 2.4 分页查询IPage 基于 MyBatis 的物理分页 开发者无需关心具体操作配置好插件之后写分页等同于普通 List 查询。 /** * 根据 entity 条件查询全部记录并翻页 * * param page 分页查询条件可以为 RowBounds.DEFAULT * param queryWrapper 实体对象封装操作类可以为 null */ IPage selectPage(IPage page, Param(Constants.WRAPPER) Wrapper queryWrapper); 2.4.1 编写分页插件 这段代码可以固定的就这么写。 Configuration MapperScan(com.example.mybatisplus.mapper) // 设置mapper接口的扫描包 public class MybatisPlusConfig {Bean // 配置分页插件public MybatisPlusInterceptor paginationInnerInterceptor(){MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();// PaginationInnerInterceptor为分页拦截器interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;} } 2.4.2 编写测试方法 Test public void testSelectPage() {PageUser page new Page(2, 2); // 查询第二页每页显示2条数据QueryWrapperUser wrapper new QueryWrapper();// 设置查询条件wrapper.like(email, itcast);IPageUser iPage this.userMapper.selectPage(page, wrapper);System.out.println(数据总条数 iPage.getTotal());System.out.println(数据总页数 iPage.getPages());System.out.println(当前页数 iPage.getCurrent());ListUser records iPage.getRecords();for (User record : records) {System.out.println(record);} }
http://www.hkea.cn/news/14487859/

相关文章:

  • 小型企业网站建站手机网站建设规划书
  • 现在进出重庆最新规定杭州seo价格
  • 信阳市住房和城乡建设局网站网页美化与布局教程
  • 宜宾有什么大型网站建设公司营销型网站单页
  • 记事本做网站如何添加图片张家港网站建设
  • 专门做cos的网站怎么建单位的网站
  • 私做网站名电子章自建站成本
  • 最方便在线网站开发高端汽车
  • 哪个网站做的比较好公司门户网站建设策划书
  • 湘潭响应式网站建设 速来磐石网络网站相对路径和绝对路径
  • 高职院校高水平专业建设网站软件下载网站建设
  • 易营宝自助建站系统网站做代理还可以刷水吗
  • 广州市网站建设服务机构新的网络营销方法
  • 沈阳网站建设首选龙兴科技做网站毕设答辩问题
  • 网站名称图标如何做才能显示免费h5页面制作app
  • 如何建设网站首页东莞房价走势图
  • 网站建设后端重庆网站制作和推广公司
  • 怎么自己做网站挣钱怎么给网站做动图
  • 邢台网站制作市场成都手机网站制作
  • 给网站做h5缓存机制军事最新新闻播报
  • 企业网站模板库软装设计培训一般多少钱
  • php做网站技术方案做网站需要什么cailiao
  • 莲都网站建设系统优化设置
  • 程序员开源网站怎么做卡商网站
  • 长沙网站建设接单中国字体设计网
  • 做企业网站服务器重庆市建设工程信息网招标代理入渝备案取消
  • 浙江创都建设有限公司网站泰州企业建站程序
  • 如何查看 网站诊断资讯类网站模板asp
  • flash网站模板免费下载建筑单位企业资质
  • 计算机网站建设相关的书籍网站建设开发流程按钮