黑马2024AI+JavaWeb开发入门Day06-JDBC-Mybatis飞书作业

视频地址:哔哩哔哩

讲义作业飞书地址:day06作业

基础性作业,加油!

1、SQL语句的编写

-- 1. 查询所有的性别为男(gender 为 1)的 讲师 (job 为 2) , 并根据入职时间, 对员工进行升序排序
select * from emp where gender = 1 and job = 2 order by entry_date asc;-- 2. 根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp order by entry_date asc,id desc;-- 3. 查询性别为男(gender 为 1) 且 薪资大于 6000 的员工, 并根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp where gender = 1 and salary > 6000 order by entry_date asc ,id desc ;-- 4. 查询性别为男(gender 为 1)的员工 且 在 '2005-10-01' 至 '2018-10-01' 之间入职的员工, 并根据 入职时间 对公司的员工进行 升序排序 , 入职时间相同 , 再按照 ID 进行降序排序
select * from emp where gender = 1 and (entry_date between '2005-10-01' and '2018-10-01') order by entry_date asc ,id desc;-- 5. 查询姓 '阮' 且 在 '2010-10-01' 之后入职的员工, 并根据入职时间进行升序排序, 并对结果分页操作, 展示第1页员工数据, 每页展示5条记录
select * from emp where name like '阮%' and entry_date > '2010-10-01' order by entry_date asc limit 5;

2、通过JDBC程序,基于预编译SQL,执行更新操作

@Testpublic void testUpdate() throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取数据库连接String url = "jdbc:mysql://localhost:3306/web01";String username = "root";String password = "moon";String sql = "update user set password = ?, name = ?, age = ? where id = ?";PreparedStatement ps = DriverManager.getConnection(url, username, password).prepareStatement(sql);ps.setString(1,"haveagoodluck");ps.setString(2,"关羽");ps.setInt(3,32);ps.setInt(4,4);int i = ps.executeUpdate();System.out.println(i);ps.close();}

3、通过JDBC程序,基于预编译SQL,执行查询语句

@Testpublic void select() throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.cj.jdbc.Driver");//2.获取数据库连接String url = "jdbc:mysql://localhost:3306/web01";String username = "root";String password = "moon";String sql = "select id,username,password,name,age from user where age >= ? and id <= ?";PreparedStatement ps = DriverManager.getConnection(url, username, password).prepareStatement(sql);ps.setInt(1,20);ps.setInt(2,4);ResultSet rs = ps.executeQuery();while (rs.next()) {User user = new User(rs.getInt("id"),rs.getString("username"),rs.getString("password"),rs.getString("name"),rs.getInt("age"));System.out.println(user);}rs.close();ps.close();}

4、导入项目,基于Mybatis完成SQL语句实现

①导入项目:将文件解压后放在目录里,然后导入xml文件

②创建数据库,创建表

③实现SQL语句(注意更改数据库连接信息,密码更改为自己的,url更改为对应数据库)

  • StudentMapper.java
package com.itheima.mapper;import com.itheima.pojo.Student;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;import java.util.List;@Mapper
public interface StudentMapper {@Select("select * from student")public List<Student> findAll();@Insert("insert into student values(null,#{name},#{no},#{gender},#{phone},#{idCard},#{degree},#{graduationDate},#{createTime},#{updateTime})")public void insert(Student s);@Update("update student set no = #{no}, phone = #{phone}, id_card = #{idCard} where id = #{id}")public void update(Student s);//下面两个基于XML配置SQLpublic Student findById(Integer id);public void deleteById(Integer id);}
  • StudentMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.itheima.mapper.StudentMapper"><!--resultType:查询返回的单条记录所封装的类型--><select id="findById" resultType="com.itheima.pojo.Student">select * from student where id = #{id}</select><select id="deleteById" resultType="com.itheima.pojo.Student">delete from student where id = #{id}</select></mapper>
  • SpringBootMybatisApplicationTests.java
package com.itheima;import com.itheima.mapper.StudentMapper;
import com.itheima.pojo.Student;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class SpringBootMybatisApplicationTests {@Autowiredpublic StudentMapper studentMapper;@Testpublic void testFindAll(){studentMapper.findAll().forEach(System.out::println);}@Testpublic void testInsert(){Student s = new Student(null, "小明", "2019011", 1, "13888888888", "123456789012345678", 1, null, null, null);studentMapper.insert(s);}@Testpublic void testUpdate(){Student s = new Student(12, "小明", "2019012", 1, "13888889998", "123456789012345789", 1, null, null, null);studentMapper.update(s);}@Testpublic void testFindById(){System.out.println(studentMapper.findById(5));}@Testpublic void testDeleteById(){studentMapper.deleteById(7);}}

有问题可以私信我或者评论~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/62762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【java-Neo4j 5进阶篇】- 1.批量新增数据

系列文章目录 之前的系列文章: 一、概述篇:https://blog.csdn.net/qq_40570699/article/details/143024984 二、入门篇:https://blog.csdn.net/qq_40570699/article/details/143905723 三、进阶篇: 1.批量导入数据 文章目录 系列文章目录需求场景一、解决思路二、代码1.将属性…

tp6 合成两个pdf文件(附加pdf或者替换pdf)

最近在做项目有个需求&#xff0c;项目中需要根据设置的html合同模板自动生成PDF合同供客户下载签署&#xff0c;并根据回传的已签署合同尾页来替换原来未签署合同的尾页&#xff0c;合成新的已签署合同文本。 读取两个PDF文件并合成的 具体代码记录如下&#xff1a; use set…

LWIP和FATFS 实现 FTP 服务端

目录 一、前言 二、LWIP 和 FTP 简介 1.LWIP 2.FTP 三、实现 FTP 服务端的主要步骤 1.初始化 LWIP 2.创建 FTP 服务器任务 3.处理客户端连接 4.实现 FTP 命令处理 5.文件系统操作 6.错误处理和日志记录 四、示例代码 1.创建FTP任务 2. FTP任务代码 3.处理交互数据…

3D Bounce Ball Game 有什么技巧吗?

关于3D Bounce Ball Game&#xff08;3D弹球游戏&#xff09;的开发&#xff0c;以下是一些具体的技巧和实践建议&#xff1a; 1. 物理引擎的使用&#xff1a; 在Unity中&#xff0c;使用Rigidbody组件来为游戏对象添加物理属性&#xff0c;这样可以让物体受到重力影响并发…

C++通透讲解设计模式:单一职责原则

C通透讲解设计模式&#xff1a;单一职责原则 理解单一职责原则 这里我总结了一个规律&#xff0c;可以用一句话来表示&#xff1a; 永远只做自己分内的事情 注意&#xff0c;这个“分内的事情”是逻辑上的&#xff0c;什么意思呢&#xff1f;举几个例子。 例子 例子1 我是…

Java基础访问修饰符全解析

一、Java 访问修饰符概述 Java 中的访问修饰符用于控制类、方法、变量和构造函数的可见性和访问权限&#xff0c;主要有四种&#xff1a;public、protected、default&#xff08;无修饰符&#xff09;和 private。 Java 的访问修饰符在编程中起着至关重要的作用&#xff0c;它…

llvm源码编译

0x00 获取llvm源码 获取llvm项目源码&#xff1a;git clone https://github.com/llvm/llvm-project.git 但是&#xff0c;该项目较大&#xff0c;且直接从github下载源码可能会超时失败。可利用gitee的镜像项目进行clone&#xff1a;git clone --depth 1 https://gitee.com/m…

SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印

1.当我们启动一个SpringBoot项目的时候&#xff0c;入口程序就是main方法&#xff0c;而在main方法中就执行了一个run方法。 SpringBootApplication public class StartApp {public static void main(String[] args) {// testSpringApplication.run(StartApp.class);} }publi…

Uniad复现学习

在优云平台部署训练&#xff0c;加速训练。 关于UCloud(优刻得)旗下的compshare算力共享平台 UCloud(优刻得)是中国知名的中立云计算服务商&#xff0c;科创板上市&#xff0c;中国云计算第一股。 UCloud&#xff08;优刻得&#xff09;旗下的Compshare算力共享平台具有以下优点…

Flask+Minio实现断点续传技术教程

什么是MinIO MinIO是一个高性能的分布式对象存储服务&#xff0c;与Amazon S3 API兼容。它允许用户存储和检索任意规模的数据&#xff0c;非常适合于使用S3 API的应用程序。MinIO支持多租户存储&#xff0c;提供高可用性、高扩展性、强一致性和数据持久性。它还可以作为软件定义…

Python 简单的网页服务器

1. 介绍 这个脚本可以创建一个简单的网页服务器&#xff0c;让你可以通过浏览器访问本地电脑上的文件。这在开发和测试网页时非常有用。 2. 代码 import http.server import socketserverPORT 8000 # 端口号Handler http.server.SimpleHTTPRequestHandlerwith socketserve…

数学建模——Topsis法

数模评价类&#xff08;2&#xff09;——Topsis法 概述 Topsis:Technique for Order Preference by Similarity to Ideal Solution 也称优劣解距离法&#xff0c;该方法的基本思想是&#xff0c;通过计算每个备选方案与理想解和负理想解之间的距离&#xff0c;从而评估每个…

基于单片机的四位数码管检测有毒气体

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;通过滑动变阻器连接ADC0832数模转换器模拟有毒气体浓度检测&#xff0c;通过数码管实时显示&#xff0c;如果超过阈值&#xff0c;则蜂鸣器报警&#xff0c;灯光亮起。按…

systemd服务管理详解(将部署的服务注册为系统服务)

一、概述 systemd是一个系统和服务管理器&#xff0c;systemd是Linux系统中一套基本的构建模块&#xff0c;提供了一系列工具的集合&#xff0c;用于管理后台服务、状态查询、日志归档、设备管理、电源管理和定时任务等许多职责。 systemd作为PID为1的进程&#xff0c;是系统…

小程序 - 比较数字大小

小程序交互练习 - 比较数字大小的小程序 目录 比较数字大小 功能描述 准备工作 页面内容 设置页面事件 页面绑定事件 比较大小 按钮绑定事件 比较事件 设置结果显示 页面样式 功能截图 总结 比较数字大小 本案例将实现“比较数字大小”微信小程序&#xff0c;它的…

grpc与rpcx的区别

什么是微服务?微服务的主要区别rpcx与grpc的区别rpcx:grpc:为什么grpc要使用http2,为什么不适应http1或者http3?为什么grpc要使用proto而不是json或者其他数据格式? 为什么rpcx快,快多少?rpcx的具体性能指标与grpc比较: 什么是微服务? 整体功能通过多个程序实现,每个程序…

数据集搜集器(百科)008

对数据集搜集器&#xff08;百科&#xff09;007进行一下改进&#xff1a; 错误处理&#xff1a;增加更多的错误处理&#xff0c;比如网络请求超时、解析错误等。 用户界面&#xff1a;增加一些提示信息&#xff0c;让用户更清楚当前的操作状态。 多线程处理&#xff1a;确保多…

windows下用mysqld启动免安装mysql

windows系统可以下载免安装版本&#xff0c;就是绿色版&#xff0c;里面包含mysql运行的所有必要条件。 ![[Pasted image 20241128231459.png]] 启动步骤&#xff1a; 解压&#xff0c;然后在解压目录创建my.ini。 [mysqld] # 设置13306端口 port13306# 设置mysql的安装目录…

学习嵩山版《Java 开发手册》:编程规约 - 命名风格(P15 ~ P16)

概述 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结&#xff0c;他旨在提升开发效率和代码质量 《Java 开发手册》是一本极具价值的 Java 开发规范指南&#xff0c;对于提升开发者的综合素质和代码质量具有重要意义 学习《Java 开发手册》是一个提升 Jav…

windows安装itop

本文介绍 win10 安装 itop 安装WAMP集成环境前 先安装visual c 安装itop前需要安装WAMP集成环境(windowsApacheMysqlPHP) 所需文件百度云盘 通过网盘分享的文件&#xff1a;itop.zip 链接: https://pan.baidu.com/s/1D5HrKdbyEaYBZ8_IebDQxQ 提取码: m9fh 步骤一&#xff1…