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

怎么在国外网站开发客户体验营销理论

怎么在国外网站开发客户,体验营销理论,礼泉做网站,外贸页面网站制作前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 一、查询投影🍭 查询投影是指在查询操作中,只选择…

前言🍭

❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️

Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客

 一、查询投影🍭

查询投影是指在查询操作中,只选择需要的字段进行返回,而不是返回整个实体对象。这样可以减少网络传输的数据量,提高查询的效率。

1、查询指点字段🍉

 @Testvoid textGetAll() {LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();List<User> userList = userDao.selectList(lqw);System.out.println(userList);}

 正常查询是这样,会将所有字段都查询到,

然后当我们想查询部分字段时,这就叫查询投影。

1、lambda格式🍓

我们只查询id、name、age三个字段:

 @Testvoid textGetAll() {LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();lqw.select(User::getId,User::getName,User::getAge);List<User> userList = userDao.selectList(lqw);System.out.println(userList);}

 运行结果:

可以看到这样确实只查询了三个字段,其他字段都显示为null。但是这种格式的写法只适用于lambda格式,如果不是lambda格式则是另一种写法。

2、非lambda格式🍓

查询id、name、age、tel四个字段:

 @Testvoid textGetAll() {QueryWrapper<User> lqw=new QueryWrapper<>();lqw.select("id","name","age","tel");List<User> userList = userDao.selectList(lqw);System.out.println(userList);}

运行结果:

2、查询条数(count)🍉

 当我们想查询数据条数时,应该怎么办?lambda格式写法可做不了程序条数。

    @Testvoid textGetAll() {QueryWrapper<User> lqw=new QueryWrapper<>();lqw.select("count(*)");List<Map<String, Object>> userList = userDao.selectMaps(lqw);System.out.println(userList);}

运行结果:

设置别名:🍓

可以看出这很好查出来了,共有四条数据,但是最下面结果会不会觉得丑了点,那我们给它设置一个别名:

    @Testvoid textGetAll() {QueryWrapper<User> lqw=new QueryWrapper<>();lqw.select("count(*) as count");List<Map<String, Object>> userList = userDao.selectMaps(lqw);System.out.println(userList);}

运行代码:

3、分组查询🍉

我们来一个按电话分组查询

    @Testvoid textGetAll() {QueryWrapper<User> lqw=new QueryWrapper<>();lqw.select("count(*) as count, tel");lqw.groupBy("tel");List<Map<String, Object>> userList = userDao.selectMaps(lqw);System.out.println(userList);}

user表: 

运行结果: 

MybatisPlus查询也并不是什么都可以查询,适用于任何情况,当有些情况实现不了时,还得老老实实的使用Mybatis时候的写法,写查询语句写Mapper。

二、查询条件设置🍭

MyBatis-Plus提供了多种方式来设置查询条件,可以根据具体的需求选择适合的方式。

1、匹配查询🍉

我们平时去进行登录操作时就会进行用户名和密码匹配,那在MyBatis-Plus中然后去进行查询呢?

    @Testvoid textGetAll() {LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();//等同于=lqw.eq(User::getName,"张三").eq(User::getPassword,"123456");List<User> userList=userDao.selectList(lqw);//因为我们本来就是查询一个用户,使用可以使用selectOne替换上面这条语句//User loginUser=userDao.selectOne(lqw);System.out.println(userList);}

运行测试代码:

这里查询出来了张三用户,不过在当我们去使用这个操作时一般不会用密码原文,而是经过加密的密码。

2、模糊匹配🍉

在MyBatis-Plus中进行模糊匹配,可以使用like方法来设置模糊查询条件。以下是使用like方法进行模糊匹配的示例:

    @Testvoid textGetAll() {LambdaQueryWrapper<User> lqw=new LambdaQueryWrapper<>();//模糊查询lqw.like(User::getName,"三");List<User> userList=userDao.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.INSERTFieldFill.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.yayakq.cn/news/482808/

相关文章:

  • 制作制作网站开发在网上卖货怎么卖
  • .net网站开发架构西宁大型网站建设
  • 找做模型方案去哪个网站汕头网站快速优化排名
  • 广东省门户网站建设的现状口碑营销网站
  • 南阳做网站优化哪家好昆明网站建设系统有哪些
  • 学生版 建设网站软件下载给媳妇做的网站
  • .net如何做网站网站域名可以改么
  • 江西省城乡和住房建设部网站手机可以看的网站
  • 网站建设业务好跑吗网站如何做才能被百度等收录
  • 阳江做网站公司网页翻译哪个好用
  • 网站的承诺郑州网站推广公司电话
  • 网站图片优化器山西网络营销外包
  • 电子商务网站建设完整案例教程s2sh pdf下载wordpress插件点不开
  • 江苏企业建站科技公司起名
  • 深一集团的网站谁做的触屏网站建设
  • 网站开发与应用案例国外网络销售平台有哪些
  • 安徽网站建设推荐 晨飞网络wordpress首页调用所有分类
  • 查询网站开发的端口wordpress 网页计算器
  • 好一点的网站鲜花网站建设主要内容
  • 订单拆单在电商网站建设wordpress首页js怎么添加图片
  • 长春市网站制作自创网站的软件下载
  • 南通网站建设总结做视频免费模板下载网站
  • 网站加速服务一元夺宝网站建设费用
  • 自己做h5网站腾讯地图如何标注自己店铺位置
  • 网站公众平台建设方案电话语音聊天网站建设多少钱
  • 免费推广网站哪家好视频制作公司经营范围
  • 济南小程序网站开发wordpress的字体大小
  • 番禺制作网站设计电商运营的基本流程
  • 湖北做网站价格淘宝客自己做网站
  • 福建大舟建设集团有限公司 网站中国企业信用信息查询网官网