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

石家庄网站建设布局家庭优化大师免费下载

石家庄网站建设布局,家庭优化大师免费下载,网站建设工作室小俊哥,杭州企业网站制作哪个好前言#x1f36d; ❤️❤️❤️SSM专栏更新中#xff0c;各位大佬觉得写得不错#xff0c;支持一下#xff0c;感谢了#xff01;❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 一、查询投影#x1f36d; 查询投影是指在查询操作中#xff0c;只选择…前言 ❤️❤️❤️SSM专栏更新中各位大佬觉得写得不错支持一下感谢了❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 一、查询投影 查询投影是指在查询操作中只选择需要的字段进行返回而不是返回整个实体对象。这样可以减少网络传输的数据量提高查询的效率。 1、查询指点字段 Testvoid textGetAll() {LambdaQueryWrapperUser lqw new LambdaQueryWrapper();ListUser userList userDao.selectList(lqw);System.out.println(userList);} 正常查询是这样会将所有字段都查询到 然后当我们想查询部分字段时这就叫查询投影。 1、lambda格式 我们只查询id、name、age三个字段 Testvoid textGetAll() {LambdaQueryWrapperUser lqw new LambdaQueryWrapper();lqw.select(User::getId,User::getName,User::getAge);ListUser userList userDao.selectList(lqw);System.out.println(userList);} 运行结果 可以看到这样确实只查询了三个字段其他字段都显示为null。但是这种格式的写法只适用于lambda格式如果不是lambda格式则是另一种写法。 2、非lambda格式 查询id、name、age、tel四个字段 Testvoid textGetAll() {QueryWrapperUser lqwnew QueryWrapper();lqw.select(id,name,age,tel);ListUser userList userDao.selectList(lqw);System.out.println(userList);} 运行结果 2、查询条数count 当我们想查询数据条数时应该怎么办lambda格式写法可做不了程序条数。 Testvoid textGetAll() {QueryWrapperUser lqwnew QueryWrapper();lqw.select(count(*));ListMapString, Object userList userDao.selectMaps(lqw);System.out.println(userList);} 运行结果 设置别名 可以看出这很好查出来了共有四条数据但是最下面结果会不会觉得丑了点那我们给它设置一个别名 Testvoid textGetAll() {QueryWrapperUser lqwnew QueryWrapper();lqw.select(count(*) as count);ListMapString, Object userList userDao.selectMaps(lqw);System.out.println(userList);} 运行代码 3、分组查询 我们来一个按电话分组查询 Testvoid textGetAll() {QueryWrapperUser lqwnew QueryWrapper();lqw.select(count(*) as count, tel);lqw.groupBy(tel);ListMapString, Object userList userDao.selectMaps(lqw);System.out.println(userList);} user表  运行结果  MybatisPlus查询也并不是什么都可以查询适用于任何情况当有些情况实现不了时还得老老实实的使用Mybatis时候的写法写查询语句写Mapper。 二、查询条件设置 MyBatis-Plus提供了多种方式来设置查询条件可以根据具体的需求选择适合的方式。 1、匹配查询 我们平时去进行登录操作时就会进行用户名和密码匹配那在MyBatis-Plus中然后去进行查询呢 Testvoid textGetAll() {LambdaQueryWrapperUser lqw new LambdaQueryWrapper();//等同于lqw.eq(User::getName,张三).eq(User::getPassword,123456);ListUser userListuserDao.selectList(lqw);//因为我们本来就是查询一个用户使用可以使用selectOne替换上面这条语句//User loginUseruserDao.selectOne(lqw);System.out.println(userList);} 运行测试代码 这里查询出来了张三用户不过在当我们去使用这个操作时一般不会用密码原文而是经过加密的密码。 2、模糊匹配 在MyBatis-Plus中进行模糊匹配可以使用like方法来设置模糊查询条件。以下是使用like方法进行模糊匹配的示例 Testvoid textGetAll() {LambdaQueryWrapperUser lqwnew LambdaQueryWrapper();//模糊查询lqw.like(User::getName,三);ListUser userListuserDao.selectList(lqw);System.out.println(userList);} 查询结果  我们可以在控制台看到这个like中的百分号%是加在三的左右两边都有。 likeRight的百分号就在右边 在官网中还有很多条件构造器感兴趣的同学可以前往官网学习 条件构造器 | MyBatis-Plus (baomidou.com) 三、映射匹配兼容性 MyBatis-Plus对于映射匹配的兼容性非常好它与MyBatis框架完全兼容并且提供了更多的便利功能。 MyBatis-Plus使用的是MyBatis框架作为底层它与MyBatis的映射配置文件Mapper XML和注解方式完全兼容。这意味着你可以继续使用MyBatis的映射方式或者选择使用MyBatis-Plus提供的注解方式二者可以灵活切换。 1、表字段和编码属性设计不同步 在实际情况中肯定有这样的情况就是设计数据库的人设计的字段名和后端写实体类的人设计的属性名不一样 那这个时候可以加一个TableField注解 让我们来做这个字段的映射。 package com.example.domain;import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data;Data public class User {private Long id;private String name;TableField(value pwd)private String password;private Integer age;private String tel; }TableField是MyBatis-Plus提供的注解之一用于指定实体类中的字段与数据库表中的列的映射关系。 使用TableField注解可以对实体类的字段进行一些配置包括字段名、是否为数据库表的主键、是否为自动填充字段等。 以下是TableField注解的常用属性 value指定字段与数据库表的列名的映射关系如果不指定默认使用实体类字段名与数据库表的列名一致。exist指定该字段是否为数据库表的列如果设置为false则该字段不参与数据库表的映射默认为true。el指定实体类字段与数据库列的映射关系的表达式用于处理复杂的映射关系。fill指定该字段是否为自动填充字段可选值为FieldFill枚举类中的常量如FieldFill.INSERT、FieldFill.UPDATE等。 2、编程中添加了数据库中未定义的属性 在User实体类中我们添加一个online字段用来去判断用户是否在线但是数据库中并不需要添加这个字段那我们应该怎么去实现 让MybatisPlus去查询数据库。 给online添加TableField注解设置属性exist为false即可。 package com.example.domain;import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data;Data public class User {private Long id;private String name;TableField(value pwd)private String password;private Integer age;private String tel;TableField(exist false)private Integer online; }3、采用默认 查询开放了更多的字段查看权限 在一般查询用户信息时一般数据库中用户的密码信息是不会进行查询的那这时候使用MybatisPlus应该如何去实现呢 package com.example.domain;import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data;Data public class User {private Long id;private String name;TableField(value pwd,select false)private String password;private Integer age;private String tel;TableField(exist false)private Integer online; }如上面所示我们只需要给TableField注解设置select属性为false。 可以看到设置之后就没有password字段的信息了。 4、表名和编码开发设计不同步 这个问题就是数据库表名和实体类的类名不一致时应该怎么办呢 package com.example.domain;import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data;Data TableName(tbl_user) public class User {private Long id;private String name;TableField(value pwd,select false)private String password;private Integer age;private String tel;TableField(exist false)private Integer online; }数据库表名为tbl_user。 还是一样可以查询到数据的。
http://www.dnsts.com.cn/news/271489.html

相关文章:

  • 网站建设营销型号的区别wordpress 大流量
  • 门户网站用虚拟主机厦门市建设局报表网站
  • 杭州做网站一般多少钱成都在线制作网站
  • 成都电商网站开发公司网站导航栏种类
  • 电商wordpress和thinkphp南通网站排名优化价格
  • 在哪里可以改动网站标题ssh课程网站开发
  • 自己做旅游攻略的网站网站外包费用怎么做分录
  • 上海网站建设多少费用女生做交互设计师好吗
  • 怎么查询网站空间商营销网站建设情况调查问卷
  • 高端企业站虚拟机中建设iis网站
  • 做网站哪家最便宜济南网站怎么做seo
  • 制作网站公司那家好互助盘网站建设
  • jsp做的求职招聘网站百度云360怎么免费建网站
  • 百度网站自然排名优化谷建网站建设模板
  • jsp 做网站需要什么怎么样购买服务器建设网站
  • wordpress 插件角色河南郑州网站推广优化
  • 做调查的网站‘网页设计尺寸一般多少像素
  • 简述网站建设的基本特征找在农村适合的代加工
  • 网站如何做响应长沙多迪php网站开发培训学校
  • 临沂在线上网站建设电商平台推广费用大概要多少
  • 江苏外贸型网站制作微平台网站支持html5实现游戏
  • 网站开发所需的技术在农村开个网站要多少钱
  • 成都网站推广技巧wordpress缓冲
  • 常熟网站网站建设柳州市建设投资开发公司网站
  • 成都网站建设小公司排名长沙口碑好的做网站公司哪家好
  • 北京做网站的公司工业设计是很差的专业
  • 友山建站优化wordpress企业官网主题下载地址
  • 零基础网站建设教学服务陕西建设网站
  • 公司网站下二级站点如何做wordpress百度分享
  • 广东两学一做考学网站京东网站制作优点