当前位置: 首页 > 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难以实现(搜索条件的字符串拼接,参数设置,有序集合) 

http://www.lryc.cn/news/5963.html

相关文章:

  • 笔记-GPS设备定位方式
  • 2023秋招携程SRE算法岗面试经验分享
  • 4.9 内部类
  • ncnn模型精度验证
  • IB-PYP幼儿十大素质培养目标
  • 02.13:监督学习中的分类问题
  • leetcode刷题 | 关于二叉树的题型总结3
  • 设计模式-结构型
  • 【新】华为OD机试 - 预订酒店(Python)| 运气好 会考到原题
  • 【编程基础之Python】4、安装Python开发工具
  • 5. 最长回文子串
  • 内网渗透(二十四)之Windows协议认证和密码抓取-Mimikatz读取sam和lsass获取密码
  • 【THREE.JS】网页中的炫酷3D
  • Go语言之 下载安装go以及vscode配置go环境
  • RBAC权限 API声明四种kubernetes对象
  • CDGP仿真选择题4
  • 典型相关分析与R语言实现
  • 【蓝桥集训】第一天——前缀和
  • 2022-03-19青少年软件编程(C语言)等级考试试卷(六级)解析
  • [JavaScript 刷题] 特殊数组的特征值, leetcode 1608
  • 各种素材网站大全【全部倾倒,福利倒计时-JS,HTML,游戏素材,UI,图片素材等
  • 影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
  • 【新】华为OD机试 - 数组的中心位置(Python)| 运气好,这就是原题
  • 小米电视安装 Plex 打造家庭影院
  • Elasticsearch:Combined fields 查询
  • uart 子系统
  • SpringBoot 整合EasyExcel详解
  • VScode+cuda编程:常见环境问题
  • 简单实用的内网穿透实现教程
  • makefile案例学习