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

网站推广计划机构网站的链接优化

网站推广计划机构,网站的链接优化,提高网站粘性,网站服务器停止响应怎么办MyBatisPlus MyBatis-Plus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatisPlus的官方网址: MyBatis-Plus 🚀 为简化开发而生 快速入门 导入起步依赖…

MyBatisPlus

MyBatis-Plus (简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

MyBatisPlus的官方网址: MyBatis-Plus 🚀 为简化开发而生

快速入门

导入起步依赖

首先创建一个boot项目,导入MyBatisPlus依赖:

SpringBoot 2:

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.11</version>
</dependency>

SpringBoot 3:

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.11</version>
</dependency>

注意:导入MyBatisPlus依赖后不要导入其他MyBatis的依赖,因为MyBatisPlus的依赖中包含了mybatis的依赖,避免版本冲突导致的报错。

 顺便再启用一下lombok:

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>

编写yml配置文件

spring:datasource:password: 123456driver-class-name: com.mysql.cj.jdbc.Driverusername: rooturl: jdbc:mysql://localhost:3306/ssm_pro?serverTimezone=Asia/Shanghai

编写实体类

MyBatisPlus提供了几个注解用于解决表和实体类对应的问题:

注解说明
@TableName用于指定该类对应的表名
@TableId用于指定表中的主键字段信息
@TableField                 指定表中普通字段的信息

编写与数据库表对应的实体类:

@Data    //lombok提供get、set方法
@TableName("`tb_user`")   //与数据库表名对应
public class User {private Integer id;private String name;private String gender;private Integer age;private String address;private String qq;private String email;private String photo;
}

编写mapper接口

    使用MyBatisPlus无需编写mapper.xml文件,也无需在配置文件中配置mybatis,只需创建一个接口继承BaseMapper即可,并且也无需在里面写sql语句就能进行简单的增删改查操作,注意还需要加上@Mapper注解

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

编写测试类

    这里就只展示MyBatisPlus的使用,就不编写service等类。

@SpringBootTest
class MybatisPlusApplicationTests {@AutowiredUserMapper userMapper;@Testvoid contextLoads() {//查询单个User user1 = userMapper.selectById(2);System.out.println("查询单个"+user1);//查询所有List<User> list = userMapper.selectList(null);System.out.println("查询所有");System.out.println(list);//添加数据User user2 = new User();user2.setName("李白");user2.setAge(20);user2.setGender("男");user2.setEmail("d3333ahs");userMapper.insert(user2);//更新数据user2.setAge(32);userMapper.updateById(user2);//删除数据userMapper.deleteById(2);}}

注意事项:使用insert方法时,需要注意实体类中的主键要设置

@TableId(type = IdType.AUTO)

否则插入的id会出现异常

更新时使用updateById,会自动根据传入的实体类的id进行更新。如果使用update方法,会更新所有的数据。

条件构造器

    在实际开发中,对于数据库的增删改查操作会更加复杂,MyBatisPlus自带的方法并不能满足我们所需的操作,这个时候就要使用条件构造器Wrapper。

    Wrapper 类是构建复杂查询和更新条件的关键工具。它允许开发者以链式调用的方式构造 SQL 的 WHERE 子句,提供了极大的灵活性和便利性。

条件构造器的核心类:

类型特点适用场景
QueryWrapper基础条件构造器简单条件查询
LambdaQueryWrapper类型安全的Lambda表达式构造器避免字段硬编码
UpdateWrapper更新条件构造器字段更新操作
LambdaUpdateWrapperLambda风格的更新构造器类型安全的更新操作

条件构造器的常用方法

方法说明
eq(R column, Object val)WHERE column= 'val'
ne(R column, Object val)WHERE column<> 'val'
gt(R column, Object val)WHERE column> val
ge(R column, Object val)WHERE column>= val
lt(R column, Object val)WHERE column< val
le(R column, Object val)WHERE column<= val
between(R column, Object val1, Object val2)WHERE column BETWEEN val1 AND val2
notBetween(R column, Object val1, Object val2)WHERE column NOT BETWEEN val1 AND val2

like(R column, Object val)

WHERE column LIKE '%val%'

notLike(R column, Object val)

WHERE column NOT LIKE '%val%'

likeLeft(R column, Object val)

columnLIKE '%val'

likeRight(R column, Object val)

WHERE column LIKE 'val%'
isNull(R column)WHERE column IS NULL

in(R column, Collection<?> value)

in(R column, Object... values)

WHERE column IN (value)

 示例

  • 查询年龄大于20的姓名和性别
  • 查询年龄小于30并且名字中带有“张”记录
  • 将地址为湖南的记录改为四川
        //查询年龄大于20的姓名和性别QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.select("name","gender").gt("age",20);List<User> users = userMapper.selectList(queryWrapper);System.out.println(users);//查询年龄小于30并且名字中带有“张”记录QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();queryWrapper1.lt("age",30).like("name","张");List<User> users1 = userMapper.selectList(queryWrapper1);System.out.println(users1);//将地址为湖南的记录改为四川UpdateWrapper<User> userUpdateWrapper = new UpdateWrapper<>();userUpdateWrapper.eq("address","湖南");User user = new User();user.setAddress("四川");userMapper.update(user,userUpdateWrapper);

 

基于lambda表达式写法

MyBatisPlus还提供了一种解决上述硬编码方式的构造器:

        //基于lambda表达式写法//查询年龄大于20的姓名和性别LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.select(User::getName,User::getGender).gt(User::getAge,20);List<User> users = userMapper.selectList(queryWrapper);System.out.println(users);//查询年龄小于30并且名字中带有“张”记录LambdaQueryWrapper<User> queryWrapper1 = new LambdaQueryWrapper<>();queryWrapper1.lt(User::getAge,30).like(User::getName,"张");List<User> users1 = userMapper.selectList(queryWrapper1);System.out.println(users1);//将地址为湖南的记录改为四川LambdaUpdateWrapper<User> userUpdateWrapper = new LambdaUpdateWrapper<>();userUpdateWrapper.eq(User::getAddress,"湖南");User user = new User();user.setAddress("四川");userMapper.update(user,userUpdateWrapper);

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

相关文章:

  • wordpress如何设置404页面跳转seo在网站建设中的作用
  • 宣城网站 建设磁力网站怎么做
  • 什么样的网站需要改版资源下载网站源码
  • 大自然的网站设计网站建设的流程是什么
  • 网站城市切换代码wordpress卡蜜
  • 可以做课程的网站工布江达网站建设
  • wordpress手机网站seo网站推广平台
  • 扶风做企业网站广州关键词排名推广
  • 如何建设网站教程视屏网站优点
  • 邮政管理网站建设网站域名更换是怎么做的
  • 岳阳网站定制芜湖中凡网站建设公司
  • 上海网站建设_永灿品牌建站网站设计协议
  • 国外网站建设现状图分析什么建站程序好收录
  • 网站建设资质要求自学网站制作教程
  • 全球最大源码共享网站网易云外链wordpress
  • 永春建设局网站网站建设缺陷
  • 网站建设一条成都到西安需要核酸检测吗
  • 成都网站制作沈阳多语言网站怎么实现的
  • 网站营销与推广公司网站建设有用吗
  • 网站文章采集工具网站设计制作一条龙多少钱
  • 内网门户网站建设要求河北百度seo关键词排名
  • 服装企业官方网站大连免费网站建设
  • 上海雷蒙威手表网站门店门面设计效果图
  • 网站模板哪个网站全面仿制网站软件
  • 九龙坡网站建设哪家好比较好的高端网站制作公司
  • 常州企业建站系统模板如何用wordpress设计成网上商城
  • 代写网站建设合同科技企业网站模板
  • 服务器网站部署端口配置网站cn和com有什么区别
  • 深圳英文建站公司国内三大it外包公司
  • 做招聘的网站有哪些什么是网页?