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

企业网站托管有必要吗福州品牌网站建设

企业网站托管有必要吗,福州品牌网站建设,仿团购网站模板,汽车网站开发背景学习教程 黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架 Service接口 简介 在MyBatis-Plus框架中,Service接口的作用是为实体类提供一系列的通用CRUD(增删改查)操作方法。通常情况下,Servi…

学习教程

黑马程序员最新MybatisPlus全套视频教程,4小时快速精通mybatis-plus框架

Service接口

简介
MyBatis-Plus框架中,Service接口的作用是为实体类提供一系列的通用CRUD(增删改查)操作方法。通常情况下,Service接口中的方法会对应数据库表中的操作,例如插入一条数据、根据主键查询数据、更新数据等。

Service接口与继承BaseMapper的区别在于,Service接口封装了一些常用的数据库操作方法,使得开发者可以直接调用这些方法,而不需要自己手动编写SQL语句和操作数据库。这样可以减少开发者的工作量,并提高开发效率。

另外,Service接口还可以定义一些业务相关的方法,例如根据条件查询数据、批量插入数据等。这些方法可以根据具体的业务需求来定义,提供了更加灵活的操作方式。

而继承BaseMapper接口,则是为了实现自定义的数据库操作方法。通过继承BaseMapper接口,可以使用MyBatis-Plus提供的一系列的数据库操作方法,例如插入、更新、删除等。这样可以方便地使用MyBatis-Plus的功能,并减少手动编写SQL语句的工作量。

总之,Service接口和继承BaseMapper接口都是为了简化数据库操作的方式,提高开发效率,并提供了一些常用的数据库操作方法。具体使用哪种方式,可以根据具体的业务需求和开发习惯来选择。

基本步骤

1、需要有一个自己的Service接口,这个接口要继承
UserService

// 自定义的接口,继承mybatis-plus中的IService接口
public interface UserService extends IService<User> {
}

2、对自己的Service接口进行继承并实现
UserServiceImpl

// 1、继承mybatis-plus提供的Service实现类,指定对应的mapper接口和实体类
// 2、继承自定义的UserService接口
// 3、添加上@Service注解@Service
public class UserServiceImpl  extends ServiceImpl<UserMapper, User> implements UserService {
}

3、使用mybatis-plus实现好的方法进行查询
UserController

@Controller
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/userlist")@ResponseBodypublic List<User> selectAllUser() {// 查询所有用户,调用mybatis-plus实现的方法List<User> users = userService.list();return users;}
}

文件梳理
现有文件如下

UserController 定义前端访问的接口,后端调用UserServiceImpl中的方法来处理数据库数据
User实体类,与数据库表对应
UserMapper 定义操作sql的方法,主要是特殊需要写sql的方法,普通操作数据库可以通过mybatis-plus提供的方法实现
UserServiceImpl UserService的实现类,编写主要的业务逻辑。
UserService 定义提供哪些操作方法。UserService类似饭店,提供了菜单列表,而UserServiceImpl就是具体做菜的厨师。
UserMapper.xml 编写具体的sql语句
在这里插入图片描述

现在假设mybatis-plus没有提供查询名称为李四的用户,这时可以通过编写sql实现。

UserController

 public List<User> selectAllUser() {// 查询名称为李四的用户List<User> users = userService.getLisi();return users;}

UserService

public interface UserService extends IService<User> {// 获取李四List<User> getLisi();
}

UserServiceImpl

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {@Overridepublic List<User> getLisi() {// 调用baseMapper定义的操作sql的方法// 这里不需要使用userMapper,因为ServiceImpl里有baseMapper,baseMapper实际上就是UserMapperList<User> userList = baseMapper.getLisi();return userList;}
}

在这里插入图片描述
UserServiceImpl 中也可以直接调用ServiceImpl提供的方法

在这里插入图片描述

UserMapper

@Mapper
public interface UserMapper extends BaseMapper<User> {List<User> getLisi();
}

UserMapper.xml

 <select id="getLisi" resultType="org.example.springboot.entity.User">select * from user where name = '李四'</select>

这个流程感觉怪怪的,但是好像就是这样写,具体为啥不清楚,比较刚开始学习

在这里插入图片描述

ServiceImpl常用方法
mybatis-plusServiceImpl实现了很多方法。
一般查询单挑数据的方法是get开头、多条数据是list开头;
删除方法是remove开头;
新增方法是save开头;
更新方法是update开头;

对于mybatis-plus没有提供的,可以通过自定义mapper接口,执行sql语句来实现。

Lambda

在使用BaseMapper我们可以使用提供好的Lambda 表达式。当我们使用Service时也可以使用Lambda 表达式。

UserController

public List<User> selectAllUser() {// 使用Lambda表达式查询所有年龄大于30的男生int age = 30;int sex = 1;List<User> users = userService.getAllBoy(age,sex);return users;
}

UserService

 // 查询男生List<User> getAllBoy(@Param("age") Integer age, @Param("sex") Integer sex);

UserServiceImpl

 // 查询男生@Overridepublic List<User> getAllBoy(@Param("age") Integer age, @Param("sex") Integer sex) {// 这里不需要使用if判断值是否存在,而是使用lambdaQuery处理List<User> userList = lambdaQuery().gt(age != null, User::getAge, age)  // 年龄存在时条件生效.eq(sex != null, User::getSex, sex) // 性别存在时条件生效.list(); // 返回一个集合return userList;}

在这里插入图片描述

代码生成

在上面的内容中,我们需要写很多文件、代码。但是这些代码很多内容都是相同的,这里我们可以使用第三方插件来为我们生成这些固定的内容。

视频教程:代码生成器

插件是mybatisplus
在这里插入图片描述
下载完成后需要配置数据库,因为该插件是基于数据库的表来生成代码的。不同版本的IDEA,设置的位置可能不一样。我的版本是IntelliJ IDEA 2023.3.2。这一步可能可以省略,如果不行的话,在进行配置
在这里插入图片描述
我本地使用的是mysql,以mysql为例
在这里插入图片描述
数据库配置好后,可以看到自己的数据库
在这里插入图片描述
在这里插入图片描述
这里也要配置一下,配置完成后可以测试是否连接成功
在这里插入图片描述
dbUrl 格式如下:jdbc:mysql://localhost:3306/your_database?serverTimezone=Asia/Shanghaiyour_database替换为你自己数据库的名称

配置代码生成,找到code generator 按钮。我的在 tools
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
稍微有点问题,路径分隔符不对
在这里插入图片描述
修改一下路径,/ 修改为.
在这里插入图片描述
第一次生成之后,最好检查一下生成的文件是否有什么问题。这样方便后续修改其配置。我这里出现的问题就是包地址填写的有问题。

http://www.yayakq.cn/news/349507/

相关文章:

  • 北京市公司网站制作大连模板网站制作多少钱
  • 地狱少女通信网站怎么做磁力王
  • 青岛大型门户网站建设推广个人购买域名做企业网站
  • 局域网网站域名怎么做百度如何把网站做链接地址
  • 湖南营销型网站建设企业头像设计制作网站
  • 网站如何重新备案360浏览器打不开90设计网站
  • 网站怎么做效果好创意设计椅子
  • seo如何优化网站步骤网络品牌推广策划
  • 为什么网站 关键词策划中国航发网上电子商城网址
  • 大型电商网站开发方案wordpress默认居中
  • 如何提高网站的功能性建设wordpress nofollow
  • 优质做网站费用彩页设计用什么软件
  • 工商银行与建设银行网站对比线上小程序制作
  • 城市维护建设税在哪个网站申报惠安 网站建设公司
  • 站网站推广网页设计培训教育机构
  • 网站域名做301镇江网站设计建设
  • 怎么找到一个公司的网站网站建设费税率是多少钱
  • 深圳最近消息重庆seo是什么
  • 家装设计师需要考证吗深圳优化怎么做搜索
  • 做网站前应该先出图自助建站比较好的
  • 游戏ui素材网站贵阳做网站软件
  • 包头网站建设价格北京企业建网站定制价格
  • 信息查询类网站是怎么做的 天堂最新版在线资源
  • 山西做网站优势360免费建站为什么注册不了
  • 咋把网站制作成软件北京学设计去哪个网站
  • 郑州本地做团购的网站营销网站设计方案
  • 在哪些网站上申请做广告可以在百度引擎能收到关键字网站开发与管理内容
  • 现代示范校建设专题网站禁忌网站有哪些
  • vs2017网站开发教程济南黄河路桥建设集团官方网站
  • 青岛网站建设网址2023购物平台排行榜