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

javaweb的基础2

六、Mybatis基础操作

1、Mybatis基础操作-环境准备

页面需求和操作步骤:

  • 准备数据库表 emp
  • 创建一个新的springboot工程,选择引入对应的起步依赖(mybatis、mysql驱动、lombok)
  • application.properties中引入数据库连接信息 创建对应的实体类 Emp(实体类属性采用驼峰命名)
  • 准备Mapper接口 EmpMapper

(1)准备表和数据

(2)springboot项目创建

2、Mybatis-基础操作-删除

(1)直接删除id

(2)动态删除

delete方法中设置形参id

在运行测试类时传入参数id的具体数值

查看emp表中id=17的数据是否删除

注:老师给的代码中的数据库连接配置密码与自己的可能不一致,需修改。

 

(3)在控制台输出执行的sql语句

(4)预编译

(5)不使用预编译登录

  • 打开sql的jar包服务器
  • 打开http://localhost:9090/login.html网址
  • 输入用户名和密码(全正确,其中一个错误,全部错误),查看登录情况和命令提示符界面的sql语句

当用户名和密码都错误却可以登录成功,原因是直接将参数拼接在sql语句中,预编译可以解决这个问题。

(6)使用预编译登录

使用预编译时,使用?拼接sql语句。若用户名和密码错误时,则登录不成功。

(5)小结

3、Mybatis-基础操作-新增

  • EmpMapper中编写sql语句
  • Emp有表的字段名
  • 测试类中传入字段的具体值和调用EmpMapper的insert方法

(1)图示新增表数据

4、Mybatis-基础操作-新增(主键返回)

有时候需要获取添加数据的主键值

  • EmpMapper中添加注解@Options
  • 在测试类中修改要添加的数据并加入一行输入id的代码

(1)图示步骤

5、Mybatis-基础操作-更改

更改的sql语句

在测试类中调用更改的方法

6、Mybatis-基础操作-查询(where的某一个字段)

public Emp getById(Integer id);

Emp emp=empMapper.getById(20);

(1)id查询

查询id为xx的数据并将返回数据Emp类的对象。

输出:执行测试方法时将getById的方法返回结果emp对象输出

运行结果:deptId值为null

(2)属性名的自动封装

id=20时,查询结果中某些字段的值为null。原因如图:

(3)解决不自动封装的问题

只需要开启映射开关,其他不变。

(4)小结:3种自动封装的方法

7、Mybatis-基础操作-条件查询(where下的多个字段)

(1)需求案例

(2)使用mybatis进行条件查询

方法1:name直接拼接

方法2:name预编译

(3)条件查询小结

8、Mybatis-基础操作-XML映射文件

通过xml来编写SQL查询语句,而不是用注释的方法来编写SQL查询语句

public List <Emp>  list(String name,Short gender,LocalData begin,LocalData end);

List<Emp> empList=empMapper.list("张",1,xx,xx);

(1)映射条件的步骤

(2)映射的步骤

  • 查询方法在EmpMapper中
  • 查询语句在EmpMapper.xml
  • 测试方法在测试类

(3)映射与注释对比

9、Mybatis-动态SQL-if(where下的所有字段皆可以为null)

动态查询时,没有查询的字段就不显示。如:张

非动态查询时,没有查询的字段为null。如:张,null,null,null

(3)小结

10、

(1)非动态更新emp表

EmpMapper

test

结果没有更新的字段为null,如:张,null

(2)动态更新emp表

EmpMapper类

xml

test

结果没有更新的字段保持不变。如:张,不变

 

七、web开发综合案例

1、环境搭建

(1)需求

部门管理:增删改查

员工管理:增删改查

(2)环境搭建步骤

2、环境搭建实操

(1)创建springboot工程,准备数据库表dept等

(2)application.properties和pom.xml配置

pom.xml:web起步依赖、mybatis起步依赖、mysql起步依赖、lombok起步依赖、springboot起步依赖、springboot单元测试。

application.properties:数据库连接的四要素、mybatis的输出日志的位置、驼峰命名自动映射的开关

(3)工程的代码目录:controller、mapper、pojo、service目录

(4)导入result类到pojo包下

(5)开发流程

页面原型的需求-接口文档-思路分析-接口开发-接口测试-前后端联调

3、案例-部门管理-查询

(1)DeptController:调用service的list

(2)DeptServiceImpl:调用mapper的list

(3)DeptMapper

(4)启动服务器

(5)postman的测试

 

 

相关文章:

  • 【计算机网络】什么是路由?核心概念与实战详解
  • 群晖如何通过外网访问
  • KingbaseES之KDts迁移SQLServer
  • 安徽京准:GPS北斗卫星时空信号安全防护装置(授时)介绍
  • 【Unity笔记】Unity超时检测器开发:支持自定义重试次数与事件触发
  • AIP-231 批量方法:Get
  • 树莓派超全系列教程文档--(24)本地化设置、SSH及配置防火墙
  • 本地mock服务编写
  • 如何优雅地处理 API 版本控制?
  • 滚轮控制目标臂长度调整相机距离
  • CTF--shell
  • 自动驾驶第一性原理
  • java -jar 如何持久化运行
  • 华三IRF堆叠技术
  • Redis 5.0、6.0 和 7.0 版本的核心更新特性总结
  • flutter 打包mac程序 dmg教程
  • 【CUDA 】第3章 CUDA执行模型——3.5循环展开(1)
  • 探讨HMI(人机界面)设计原则,如何通过优秀的设计提升操作效率和用户体验
  • 第二十六:Map的基本原理
  • VM虚拟机安装及Ubuntu安装配置
  • 国防部:“台独”武装摆练纯属搞心理安慰,怎么演都是溃败的死局
  • 国家发改委:将开展市场准入壁垒清理整治行动
  • 秦洪看盘|平淡走势中或将孕育主旋律
  • 2025年一季度上海市生产总值
  • 兰斯莫斯想在雅典卫城拍《拯救地球》,希腊当局:价值观不符
  • “低头捡星光”,艺术创作直面三江源生态保护