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

1、MyBatis框架——JDBC代码回顾与分析、lombok插件的安装与使用

目录

一、JDBC基本操作步骤

二、JDBC代码

三、lombok插件的安装与使用

1、lombok插件的安装

2、lombok常用注解

Data

Getter

Setter

ToString

AllArgsConstructor

NoArgsConstructor

3、lombok的使用

四、JDBC代码分析


一、JDBC基本操作步骤

1、导包mysql-connector-java

2、注册驱动

3、获取连接

4、获取执行sql语句的对象

5、编写sql,发送sql

6、处理结果集

7、释放资源

二、JDBC代码

CREATE DATABASE mybatisdatabase;
USE mybatisdatabase;
CREATE TABLE IF NOT EXISTS `admin`(
`uid` INT PRIMARY KEY AUTO_INCREMENT,
`username` VARCHAR(20),
`upassword` VARCHAR(20) NOT NULL,
`phone` VARCHAR(11) UNIQUE NOT NULL,
`address` VARCHAR(10) NOT NULL
);INSERT INTO `admin`(`username`,`upassword`,`phone`,`address`) VALUES
('张三','123456','18145772645','安徽合肥包河区'),
('李四','456789','15695688968','安徽合肥高新区');
import lombok.Data;@Data
public class Admin {private int uid;private String username;private String upassword;private String address;
}
package com.mybatis;import java.sql.*;
import java.util.ArrayList;public class App {public static void main(String[] args) {Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {//注册驱动Driver driver = new com.mysql.jdbc.Driver();DriverManager.registerDriver(driver);//获取连接//serverTimezone:设置时区--->UTC:标准时间//useSSL:是否使用更安全连接//characterEncoding:设置编码格式String url = "jdbc:mysql:///mybatisdatabase?serverTimezone=UTC&useSSL=false&characterEncoding=UTF-8";String user = "root";String password = "123456";connection = DriverManager.getConnection(url,user,password);System.out.println("connection = " + connection);//编辑sql语句String sql = "select * from admin;";//获取执行sql语句的对象preparedStatement = connection.prepareStatement(sql);//获取结果集resultSet = preparedStatement.executeQuery();//处理结果集ArrayList<Admin> arrayList = new ArrayList<Admin>();while(resultSet.next()){int uid = resultSet.getInt("uid");String username = resultSet.getString(2);String upassword = resultSet.getString("upassword");String address = resultSet.getString(4);Admin admin = new Admin();admin.setUid(uid);admin.setUsername(username);admin.setUpassword(upassword);admin.setAddress(address);arrayList.add(admin);}System.out.println("arrayList = " + arrayList);} catch (SQLException e) {e.printStackTrace();}finally{//释放资源try {if (connection != null){connection.close();}} catch (SQLException e) {e.printStackTrace();}try {if (preparedStatement != null){preparedStatement.close();}} catch (SQLException e) {e.printStackTrace();}try {if (resultSet != null){resultSet.close();}} catch (SQLException e) {e.printStackTrace();}}}
}

三、lombok插件的安装与使用

使用lombok插件可自动生成实体类的构造方法、get()/set()方法、toString()方法、equals()方法等 

1、lombok插件的安装

file--->Settings...--->Plugins--->搜索lombok--->Installed

2、lombok常用注解

Data

整合了Getter、Setter、ToString、EqualsAndHashCode、RequiredArgsConstructor注解。

Getter

快速构建Getter方法。

Setter

快速构建Setter方法。

ToString

快速将当前对象转换成字符串类型,便于log。

AllArgsConstructor

全参构造。

NoArgsConstructor

无参构造。

3、lombok的使用

在pom.xml中引入lombok依赖坐标,通过注解使用lombok 

<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version>
</dependency>
import lombok.Data;@Data
public class Admin {private int uid;private String username;private String upassword;private String address;
}

四、JDBC代码分析

1、连接获取的过程繁琐

2、sql语句和java代码存在强耦合关系

3、资源释放过程繁琐

4、结果集处理繁琐

5、动态sql难以实现(搜索条件的字符串拼接,参数设置,有序集合) 

相关文章:

1、MyBatis框架——JDBC代码回顾与分析、lombok插件的安装与使用

目录 一、JDBC基本操作步骤 二、JDBC代码 三、lombok插件的安装与使用 1、lombok插件的安装 2、lombok常用注解 Data Getter Setter ToString AllArgsConstructor NoArgsConstructor 3、lombok的使用 四、JDBC代码分析 一、JDBC基本操作步骤 1、导包mysql-connect…...

笔记-GPS设备定位方式

1. 背景 最近接触到的GPS设备有点多&#xff0c;逐渐明白大家定位的机理&#xff0c;也结合网上的文章《GPS、WiFi、基站、AGPS几种定位原理介绍与区别》 来做一个简单的总结。 2. 基于GPS定位 这是最基本的定位能力&#xff0c;它主要就是寻找卫星&#xff0c;利用光传播速度…...

2023秋招携程SRE算法岗面试经验分享

本专栏分享 计算机小伙伴秋招春招找工作的面试经验和面试的详情知识点 专栏首页:秋招算法类面经分享 主要分享计算机算法类在面试互联网公司时候一些真实的经验 面试code学习参考请看:...

4.9 内部类

文章目录1.内部类概述2.特点3.练习 : 内部类入门案例4.成员内部类4.1 练习 : 被private修饰4.2 练习 : 被static修饰5.局部内部类6.匿名内部类1.内部类概述 如果一个类存在的意义就是为指定的另一个类&#xff0c;可以把这个类放入另一个类的内部。 就是把类定义在类的内部的情…...

ncnn模型精度验证

验证ncnn模型的精度 1、进行pth模型的验证 得到ncnn模型的顺序为&#xff1a;.pth–>.onnx–>ncnn .pth的精度验证如下&#xff1a; 如进行的是二分类&#xff1a; model init_model(model, data_cfg, devicedevice, modeeval)###.pth转.onnx模型# #---# input_names …...

IB-PYP幼儿十大素质培养目标

作为IB候选学校&#xff0c;一直秉承IB教育的核心目标&#xff0c;贯彻在幼儿的学习生活中。IB教育之所以成为当今国际教育的领跑者&#xff0c;最主要的原因是IB教育是切切实实的“全人”教育&#xff0c;“素质”教育&#xff0c;拥有一套完整的教学服务体系。当我们走进IB“…...

02.13:监督学习中的分类问题

今天首先学习了监督学习中的分类问题&#xff0c;跑了两个代码。现在学起来感觉机器学习有很多不同的定理建立了不同的分类器&#xff0c;也就是所谓不同的方法。具体的数学原理我不太清楚。然后不同的应用场景有一个最优的分类器。 值得一提的应该就是终于清晰的明白了精度&am…...

leetcode刷题 | 关于二叉树的题型总结3

leetcode刷题 | 关于二叉树的题型总结3 文章目录leetcode刷题 | 关于二叉树的题型总结3题目连接递增顺序搜索树二叉搜索树中的中序后继把二叉搜索树转换为累加树二叉搜索树迭代器题目连接 897. 递增顺序搜索树 - 力扣&#xff08;LeetCode&#xff09; 剑指 Offer II 053. 二…...

设计模式-结构型

设计模式-结构型 结构型设计模式包含&#xff1a;代理模式、适配器模式、桥接模式、装饰模式、外观设计模式、享元模式、组合模式 代理模式 核心是在具体的功能类与使用者之间建立一个中介类作为代理&#xff0c;使用者通过代理对象对真实的功能类进行访问。 在iOS开发中&am…...

【新】华为OD机试 - 预订酒店(Python)| 运气好 会考到原题

预订酒店 题目 放暑假了,小明决定到某旅游景点游玩,他在网上搜索到了各种价位的酒店(长度为 n 的数组 A),他的心理价位是 x 元,请帮他筛选出 k 个最接近 x 元的酒店(n>=k>0),并由低到高打印酒店的价格。 输入 第一行:n, k, x 第二行:A[0] A[1] A[2]...A[n-…...

【编程基础之Python】4、安装Python开发工具

【编程基础之Python】4、安装Python开发工具安装Python开发工具为什么需要开发工具Anaconda自带的开发工具PyCharm安装PyCharm运行PyCharm并创建项目总结安装Python开发工具 为什么需要开发工具 通常情况下&#xff0c;为了提高开发效率&#xff0c;需要使用相应的开发工具&a…...

5. 最长回文子串

文章目录题目描述暴力法中心扩散法参考文献题目描述 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s “babad” 输出&#xff1a;“bab” 解释&a…...

内网渗透(二十四)之Windows协议认证和密码抓取-Mimikatz读取sam和lsass获取密码

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…...

【THREE.JS】网页中的炫酷3D

web3d一、前言粒子特效二维漫画可视化后期处理二、项目使用流程2.1 项目结构2.2 基本使用2.3 项目模板2.4 技术栈三、基础动画3.1 THREE.Clock3.2 GASP四、照相机8.1 正交相机8.2 透视相机4.3 相机控制器五、画布和全屏六、几何体七、Debug UI八、纹理贴图8.1 mipmapping8.2 放…...

Go语言之 下载安装go以及vscode配置go环境

上篇请移步到Go语言之 下载安装及第一个代码_水w的博客-CSDN博客 目录 一、下载安装以及配置go环境 1 下载安装go 2 配置go环境 二、安装配置git 一、在vscode上开发golang 1 配置 2 编写代码 解决报错&#xff1a;go: go.mod file not found in current directory or …...

RBAC权限 API声明四种kubernetes对象

RBAC API声明了四种kubernetes对象: Role ClusterRole RoleBinding ClusterRoleBinding Role: 名称空间内创建授权角色&#xff0c;指定空间名字 ClusterRole: 全局角色&#xff0c;集群范围&#xff0c;对所有名称空间有效 RoleBinding: 名称…...

CDGP仿真选择题4

CDGP仿真选择题13、指标(Metrics)可以用来衡量数据管理的效果。请从下列选项中选择正确的表述: (知识点: CDGP仿真题)A.指标是衡量或评估绩效、进度、质量、效率或其他影响的标准B.这些指标用于定义每个知识领域内完成工作的可量化事实C.指标也可以测量更抽象的特性&#xff0c…...

典型相关分析与R语言实现

典型相关分析学习目标学习内容典型相关分析的原理典型相关分析的理论内容例子具体实现方法内容小结注意解决方法学习目标 我们所采用的学习内容来自B站的Lizongzhang老师的R语言的学习分享 今天学习的主要内容是关于 典型相关分析 学习内容 首先声明,典型相关分析的内容理解…...

【蓝桥集训】第一天——前缀和

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;输出的时候&#xff0c;注意数据类型&#x1f43e; 文章目录1.截断数组2.前缀和3.子矩阵的和4.k倍区间1.截断数组 给定一个长度为 n 的数组 a1a_1a1​,a2a_2a2​,…,ana_nan​。 现在&…...

2022-03-19青少年软件编程(C语言)等级考试试卷(六级)解析

青少年软件编程(C语言)等级考试试卷(六级) 一、编程题(共4题,共100分)T1.多项式相加 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起。首先,我们会有两个多项式,每个多项式是独立的一行,每个多项式由系数、幂数这样的多个…...

Ubuntu16.04服务器上从零部署LaneNet车道线检测:Tusimple数据集处理全流程避坑指南

Ubuntu 16.04服务器部署LaneNet车道线检测全流程实战 在自动驾驶和智能交通系统中&#xff0c;车道线检测是一项基础而关键的技术。本文将详细介绍如何在Ubuntu 16.04服务器环境下&#xff0c;从零开始部署LaneNet车道线检测模型&#xff0c;并处理Tusimple数据集的全流程。不同…...

PyTorch 2.8镜像多场景落地:智慧农业病虫害识别模型田间部署方案

PyTorch 2.8镜像多场景落地&#xff1a;智慧农业病虫害识别模型田间部署方案 1. 田间AI的迫切需求 现代农业正面临病虫害防治的严峻挑战。传统人工巡查方式效率低下&#xff0c;一个熟练的技术员每天最多能检查3-5亩作物&#xff0c;而大型农场往往需要数十人同时作业。更棘手…...

LSTM电池SOC估计最基本方法及全包代码:包含两个数据集、预处理代码、模型代码与估计结果

LSTM做电池SOC估计&#xff0c;最基本的方法&#xff0c;入门必学&#xff0c;包括两个数据集&#xff0c;及其介绍、预处理代码、模型代码、估计结果等&#xff0c;这是我见过最全的一个SOC估计代码包&#xff0c;总共文件大概有70个左右最近在折腾电池SOC估计&#xff0c;发现…...

MGeo门址地址解析效果展示:高德×达摩院多模态模型真实解析案例集

MGeo门址地址解析效果展示&#xff1a;高德达摩院多模态模型真实解析案例集 1. 引言&#xff1a;当AI开始“读懂”地址 想象一下&#xff0c;你收到一条外卖订单&#xff0c;地址写着“朝阳区望京SOHO T3 B座15楼1501室&#xff0c;到了打电话”。对于骑手来说&#xff0c;这…...

做客户管理之前,先看看这 6 个教训

方案 A&#xff1a;传统开发方式分析 传统开发需要组建专业团队&#xff0c;包括产品经理、UI 设计师、前后端开发、测试工程师等。中等规模项目团队 5-8 人&#xff0c;开发周期 3-6 个月&#xff0c;人力成本 30-100 万。开发过程中需求沟通成本高&#xff0c;业务人员用自然…...

STM32 RTC硬件自检工具CheckRTC:轻量级实时时钟可信度验证

1. 项目概述CheckRTC 是一个面向 STM32 系列微控制器的轻量级 RTC&#xff08;实时时钟&#xff09;模块自检与功能验证程序。其核心目标并非提供通用 RTC 驱动&#xff0c;而是作为嵌入式底层开发中关键的硬件可信度验证工具——在系统启动早期、固件升级后、或长期运行出现时…...

如何轻松实现专业音频低延迟:FlexASIO实用配置完全指南

如何轻松实现专业音频低延迟&#xff1a;FlexASIO实用配置完全指南 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址: https://gitcode…...

springboot网络小说在线阅读网站的设计与实现

目录需求分析技术选型数据库设计核心功能实现性能优化安全防护测试部署项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作需求分析 明确网站的核心功能和用户需求。网络小说在线阅读网站通常需要包含以下功能模块&#xff1a;用户…...

SDPose-Wholebody模型在卷积神经网络架构上的创新优化

SDPose-Wholebody模型在卷积神经网络架构上的创新优化 人体姿态估计技术正在从简单的身体关节点检测向全身精细化识别演进&#xff0c;而SDPose-Wholebody通过创新的卷积神经网络架构设计&#xff0c;将这一技术推向了新的高度。 1. 核心架构设计突破 SDPose-Wholebody的最大创…...

告别硬编码路径:手把手教你用Go cgo优雅集成第三方C库(Windows/MinGW环境)

告别硬编码路径&#xff1a;用Go cgo优雅集成第三方C库的工程实践 在混合编程的世界里&#xff0c;Go与C/C的联姻既带来了性能红利&#xff0c;也伴随着路径管理的噩梦。当项目需要引用多个第三方库时&#xff0c;硬编码的绝对路径会让构建脚本变得脆弱不堪&#xff0c;团队协作…...