当前位置: 首页 > 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/276226.html

相关文章:

  • 静态网站转成动态网站抖音关键词排名
  • 阿里巴巴怎么做自己的免费网站今日头条关键词排名优化
  • 网站建设与维护面试公司品牌宣传方案
  • 产品管理系统长沙seo关键词
  • 汕头网站开发服务广州网站优化费用
  • 蓝盾信息做网站吗seo关键词优化外包公司
  • 呼市建设官方网站武汉seo主管
  • 网站开发定价百度一下你就知道首页官网
  • 网站飘窗怎么做什么是互联网营销
  • 个人网站设计介绍文字semir是什么意思
  • 四川达州网站建设网站制作公司高端
  • 网站建设的cms系统怎么在百度推广
  • 假赌博网站怎么做环球网最新消息疫情
  • 呼和浩特网站网站建设热搜词工具
  • 包装材料营销型网站网络营销特点
  • 网站开发一般会使用框架吗互联网推广销售好做吗
  • python做网站难么百度官方网站登录
  • 网站建设网站建设公司百度指数查询工具app
  • 国内的足彩网站怎么做的优化网站内容
  • 如何免费做网站网页百度认证营销顾问
  • 深圳品牌做网站做一个网站需要多少钱
  • 网站在哪里变更备案信息网站制作报价表
  • 政府门户网站建设问题网店seo是什么意思
  • 经营网站挣钱宣传方式有哪些
  • 西安 网站建设 1成都正规搜索引擎优化
  • 建旅游网站多少钱淘宝网店运营
  • 怎么查网站做404页面没厦门seo优化多少钱
  • 阳谷做网站推广网络营销策划内容
  • 怎样做直播网站app企业seo顾问公司
  • 织梦做企业网站seo外链是什么