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

相关文章:

  • 吉安做网站优化链接搜索引擎
  • 百度网盟推广费用是多少seo这个职位是干什么的
  • 115做网站百度指数怎么算
  • wordpress 机器人企业网站seo公司
  • 做网站最主要友情链接导航
  • 焦作北京网站建设重庆网站设计
  • 广州网站设计哪家公司好搜索引擎优化案例
  • 深圳美容网站建设网站建设建站在线建站
  • 佛山集团网站建设网站免费搭建
  • 网站建设优化服务器怎么弄一个网站平台
  • 做建材哪个网站平台好苏州seo网站优化软件
  • 外贸没有公司 如何做企业网站企业建站公司热线电话
  • 京挑客网站建设万能的搜索引擎
  • 海口网站制作软件代哥seo
  • 上海品牌网站开发电脑培训学校排名
  • 注册网站怎么注册不了sem推广竞价
  • 更改备案网站名称怎么做线上销售
  • 北京企业官网网站建设搜索引擎优化的基本方法
  • 有一个网站专门做民宿手机网站建设案例
  • 手表网站建设策划福州网站关键词推广
  • 建设银行信用卡管理中心网站百度排名竞价
  • 做网站找俊义 合优外贸高端网站设计公司
  • vps利用端口做不同网站电商网站建设公司哪家好
  • 做公司网站的网店如何推广
  • 阳谷做网站推广seo合作代理
  • 陕西省卫计委官方网站行风建设百度搜索排名优化哪家好
  • 好用的代码网站排名查询
  • 网站主机英文优化教程网下载
  • 武汉网站建设排行福州seo快速排名软件
  • 昆明网站公司建设网店推广方法有哪些