自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (5)
  • 收藏
  • 关注

原创 关于Pagehelper的使用

这里写自定义目录标题关于PageHelper的使用的随手记录导入依赖加入启动项上的注解具体的使用关于PageHelper的使用的随手记录导入依赖 com.github.pagehelper pagehelper-spring-boot-starter 1.3.0 加入启动项上的注解@SpringBootApplication(exclude = {PageHelperAutoConfiguration.cla

2021-04-09 16:38:23 1444

原创 我对Nginx的理解

Nginx的特点:稳定性极强。 7*24小时不间断运行。Nginx提供了非常丰富的配置实例。占用内存小,并发能力强。【每秒5万】开源的

2020-11-07 15:29:32 127

原创 关于linux的安装使用

Linux安装安装Linux,我们需要一个虚拟机,为了安装虚拟环境:VMware或者Virtual Box(采用VMware) https://www.vmware.com/go/getworkstation-win为了安装Linux,我们需要一个Linux的镜像文件:CentOS7版本http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1908.iso安装一个连接Linux的图形化界面:Xterm,

2020-11-03 11:33:23 156

原创 记一些关于linux的知识

今日学习笔记一、为什么使用linux 在我们开发的过程中,我们一般使用window或者是苹果的系统来开发,但是我们在部署使用时一般是在linux中,因为更加的安全,且不会因为运行时长而导致系统的卡顿。二、初识linuxlinux我们通常在虚拟机上运行,虚拟机有VMware,redhat,ubtue等等对于开发来讲我们一般将系统部署在服务器,也就是linux,然后通过远程控制台进行控制使用,如通过mobaXtrem等等三、linux的一些基础指令一般看看前面的就行了,后面的对于开发用的不是太多

2020-11-03 11:21:45 107

原创 如何让多个(如:20个线程同时执行)(笔记)

当我们在使用线程时,有时候建立了多个线程,想要让每个线程的方法同时执行,从而产生高并发的效果,我们可以使用CyclicBarrier或者CountDownLatch。//currency:线程数//创建一个CyclicBarrier对象,下面调用他的方法,让线程等待,直到所有线程开启后一起执行方法,从而造成高并发。CyclicBarrier cb = new CyclicBarrier(currency);//CountDownLatch类也是同样的效果,区别在于,CountDownLatch每次线

2020-10-29 09:46:55 2509 2

原创 记录我的一些ideal配置(1)

1.文本圈红的地方,一定要记住改成UTF-8,避免后期出现乱码的情况2.代码编辑时的快捷提示3.关于ideal的一些插件和插件下载失败的问题解决4.ideal中maven的配置以上只是我的个人爱好配置,...

2020-10-22 11:27:44 119

原创 简单的理解Tomcat的核心三部分

Tomcat的核心分为3个部分:Web容器—处理静态页面;catalina — 一个servlet容器-----处理servlet;还有就是JSP容器,它就是把jsp页面翻译成一般的servlet。

2020-10-20 20:24:21 124

原创 <load-on-startup>的作用

web.xml中<load-on-start>n</load-on-satrt>作用<load-on-startup>1</load-on-startup>,这个配置有什么作用呢?作用如下:1.load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调用其init()方法)。2.它的值必须是一个整数,表示servlet应该被载入的顺序。;3.当值为0或者大于0时,表示容器在启动时就加载并初始化这个servlet。

2020-10-20 17:15:01 2068

原创 关于java学习的一些网站

J2EE开发Spring MVC4 https://www.bilibili.com/video/av48175502/Spring Boot&Spring Cloud https://www.bilibili.com/video/av62912967/Spring Boot&Spring Cloud微服 https://www.bilibili.com/video/av36042649前端开发:小程序开发极客学院小程序教程 https://www.bilibili.com/

2020-09-22 16:56:03 122

原创 Java——Servlet

文章目录一、引言1.1 C/S架构和B/S架构1.2 C/S架构(Client/Server 客户端/服务器)1.3 B/S架构(Browser/Server 浏览器/服务器)二 、服务器2.1 概念2.1.1 什么是Web2.1.2 什么是Web服务器2.2 常见服务器2.3 Tomcat服务器2.4 Tomcat安装2.4.1 下载2.4.2 解压安装2.4.3 Tomcat目录结构2.5 Tomcat启动和停止2.5.1 启动2.5.2 验证2.5.3 停止2.5.4 修改端口号2.6 项目部署及访问

2020-09-12 09:41:15 466

原创 Java——CSS

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5fV4AxZR-1599874416264)(Pictures\logo.png)]Author:AmyVersion:9.0.2文章目录一 、引言1.1CSS概念二、 CSS简介2.1 什么是CSS2.2 CSS能干什么2.3 CSS书写规范2.4 基础语法三、 CSS导入方式3.1 内嵌方式(内联方式)3.2 内部方式3.3 外部方式3.4 @import方式四、 CSS选择器4.1 基本选择器4.2 属性选择器4

2020-09-12 09:34:20 102

原创 Java初级——HTML

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SzN9n9WK-1599874343268)(Pictures\logo.png)]Author:AmyVersion:9.0.2文章目录一、引言1.1HTML概念二、HTML简介2.1 什么是HTML2.2 HTML能做什么2.3 HTML书写规范三、HTML基本标签3.1 结构标签3.2 排版标签3.3 块标签3.4 基本文字标签3.5 文本格式化标签3.6 标题标签3.7 列表标签(清单标签)3.8 图形标签3.

2020-09-12 09:32:51 206

原创 Java初级——JDBC

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pw4yzZjv-1599217297356)(Pictures/logo.png)]Author:GavinVersion:9.0.2文章目录一、引言1.1 如何操作数据库1.2 实际开发中,会采用客户端操作数据库吗?二、JDBC(Java Database Connectivity)2.1 什么是 JDBC?2.2 JDBC 核心思想2.2.1 MySQL 数据库驱动2.2.2 JDBC API2.3 环境搭建三、J

2020-09-04 19:01:57 229

原创 SQL语言的概述与分类

SQL语言分类1.数据查询语言DQL(Data Query Language): select . where . order by . group by . having2.数据定义语言DDL(Data Definition Language): create . alter . drop3.数据操作语言DML(Data Definition Language): insert . update . delete4.事务处理语言TPL(Transaction Process Language):

2020-09-02 15:47:15 135

原创 关于MySQL中视图的理解和使用

视图什么是视图简单的说,视图就是将一张或者多张表中查询出来的数据进行组合,成为一张虚拟存在的虚拟表。视图的意义在视图中用户也可以进行select语句查询,进行insert,update,delete对记录进行修改,视图不仅方便了用户的操作,而且,保障了数据库系统的安全。视图的特点优点简单化,直接把你想要的数据呈现在眼前安全性,让使用者只能操作展示在面前的数据逻辑独立性,可以避免原表结构变化带来的影响缺点性能相对较差,简单的查询也会因为牵扯多表而复杂修改不方便,回因为表间约束而使

2020-09-02 15:40:02 172

原创 关于mysql将数据库的处理权限进行分配的问题

# 创建用户create user 'test' identified by 'test';# create user 用户名 identifity by 密码# 用户授权Grant all on companydb.* to 'test';# grant all on 库.表 to 用户名# 撤销权限revoke all on companydb.* from 'test';# revoke all on 库.表 from 用户名# 删除用户drop user 'test';

2020-09-02 15:03:45 90

原创 mysql数据处理——事务

事务——一个原子操作,一个最小的执行单元,可以有一个或者多个SQL语句组成。当一个事务中有一句SQL语句执行失败,则整个事务失败。执行一条DML语句(增删改)执行性成功叫提交:1)显示提交:commit2)隐式提交,语句执行完成或正常 退出执行失败叫回滚:1)显示回滚:rollback2)运势回滚:非正常退出(断电、宕机),语句执行失败。事务的特性(重点):ACIDAtomictiy(原子性)一个事务内的所有操作就像是一个原子,要么都成功要么都失败Consistency(一致性)

2020-09-02 14:45:40 90

原创 关于sql92和sql99

最大的区别就是sql92只支持内连接——from t1.id=t2.idsql99支持内连接,外连接,使用的范围更广,能满足更多的要求——join 表一 on 表2——left join——right join。。。。。连接查询含义:又称多表查询,当查询的字段来自多个表时,就需要用到连接查询笛卡尔乘积现象:表1有m行,表2有n行,则结果有m*n行分类:sql92标准:只支持内连接sql99标准【推荐】:MySQL支持内、外、交叉连接,但不支持全外连接内连接:等值连接非等值连接

2020-09-02 09:12:47 904

原创 Java初级——Day01——关于MySQL的知识

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dnxHloZ9-1599008601696)(Pictures/001.png)]Author:GavinVersion:9.0.2文章目录一、引言1.1 现有的数据存储方式有哪些?1.2 以上存储方式存在哪些缺点?二、数据库2.1 概念2.2 数据库的分类三、数据库管理系统3.1 概念3.2 常见数据库管理系统四、MySQL4.1 简介4.2 访问与下载4.3 安装4.4 卸载4.5 配置环境变量4.6 MySQL目

2020-09-02 09:03:47 753

原创 Java基础——Day24——类对象,设计模式,Lambda,函数型接口

Day 24一、类对象(掌握)1.1 定义封装类所有信息的一个对象加载类Class.forName获取其中的一些私有的属性和方法1.2 获取类对象的方式package com.qf.clazz;public class GetClass { public static void main(String[] args) throws ClassNotFoundException { // 通过类本身获取 Class<Person> c1 = Person.

2020-08-31 08:54:57 193

原创 Java基础——Day23——Lock和TCP传输

Day 23一、Lock1.1 定义Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。锁是控制多个线程对共享资源进行访问的工具。通常,锁提供了对共享资源的独占访问。一次只能有一个线程获得锁,对共享资源的所有访问都需要首先获得锁1.2 Lock的实现类ReentrantLockReentrantReadWriteLock.ReadLockReentrantReadWriteLock.WriteLock二、Reentrant Lock(掌握)

2020-08-31 08:50:49 104

转载 关于ideal安装了阿里代码规范后,executors提示的问题

1、背景:在《阿里巴巴java开发手册》中指出了线程资源必须通过线程池提供,不允许在应用中自行显示的创建线程,这样一方面是线程的创建更加规范,可以合理控制开辟线程的数量;另一方面线程的细节管理交给线程池处理,优化了资源的开销。而线程池不允许使用Executors去创建,而要通过ThreadPoolExecutor方式,这一方面是由于jdk中Executor框架虽然提供了如newFixedThreadPool()、newSingleThreadExecutor()、newCachedThreadPool()

2020-08-26 20:49:55 356 2

原创 Java基础——Day22——多线程,锁,线程池

Day 21笔记(下)一、线程和进程(了解)1.1 进程我们编写的代码、下载的引用,没运行的时候就是一堆文件这些代码、引用运行之后可以成为运行的程序,成为进程一个引用程序最少拥有一个进程1.2 线程一个进程可能同时完成多项任务比如:网易云可以显示歌词可以播放视频可以播放音乐可以滚动进度条可以查看评论上述操作看起来可以同时进行的其实是有很多条线程在分别执行不同的工作有的线程播放视频有的线程播放音频有的线程驱动进度条变化。。。这些线程在CPU的额调度下交

2020-08-26 12:03:26 156

原创 Java基础——Day21——缓冲流,序列化,对象流,过滤器,初识线程

Day 21(掌握)一、缓冲流我们的内存是很大的,频繁的读写会造成资源的浪费可以采取读很多次,内容差不多大的时候,一次将多从读取的内容写出去缓冲流分为字符缓冲流和字节缓冲流二、字节缓冲输入流2.1 定义BufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。2.2 创建对象BufferedInputStream(InputStream in) 创建一个 BufferedInputStream

2020-08-26 12:01:58 188

原创 Java基础——Day20——File,字节流,字符流,字节字符流转换

Day 20(掌握)一、File1.1 定义文件和目录路径名的抽象表示形式。把文件路径字符串封装成一个对象,提供增删改查的方法1.2 创建File对象构造方法摘要 File(File parent, String child) 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File(Str

2020-08-26 11:59:23 134

原创 Java基础——Day19——HashTable和Properties的关系,异常的应用

Day 19一、HashTable(了解)1.1 定义此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。Hashtable 是同步的1.2 和HashMap比较HashMap速度比较快,线程不同步,jdk1.2加入HashTable线程安全,速度较慢,jdk1.0加入,jdk1.2改进二、Properties(掌握)2.1 定义Pro

2020-08-26 11:57:41 212

原创 Java基础——Day18——泛型,collections,set,map

Day 18一、泛型(掌握)参数化数据类型创建类的时候无法确定属性的数据类型,创建对象的时候根据实际需求确定数据类型package com.qf.test;import java.util.ArrayList;public class Demo05 { public static void main(String[] args) { Student<String,String> stu01 = new Student<String,String>("1001

2020-08-26 11:56:01 215

原创 Java基础——Day17——集合(ArrayList和LinkedList)

Day17笔记一、集合(掌握)1.1 定义集合是存储对象的对象是一个数据容器定义了对象元素进行操作的很多方法1.2 Collection集合体系[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZugaRv1-1597799102714)(集合体系图.jpg)]1.3 创建Collection对象因为Collection是接口,无法直接创建对象可以使用多态的方式,声明Collection的引用,引用指向Collection的实现类package c

2020-08-19 09:05:14 128

原创 Java基础——Day16——包装类和StringBuffer/Builder

Day16笔记一、包装类(掌握)1.1 定义java中的一个专业名词表示java中基本数据类型对应的引用数据类型包装类提供一些方法,可以获取对应类型数据的常量、操作转换数据的方法1.2 包装类分类基本类型包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBooleancharCharacter二、Integer(掌握)

2020-08-19 09:03:09 107

原创 Java基础——Day15——内部类和Object(和接口回调的复习)

Day 15(掌握)一、内部类(掌握)1.1 定义定义在类的内部的类成为内部类能描述更多的关于对象的信息1.2 分类成员内部类静态内部类局部内部类匿名内部类二、成员内部类(掌握)2.1 定义定义在类的内部,和成员变量和成员方法位置一直成员内部类对象的创建要依赖外部类对象2.2 基本使用package com.qf.inner;public class Demo01 { public static void main(String[] args) { //

2020-08-17 09:10:56 82

原创 Java基础——Day14——final和接口

Day14一、final(掌握)1.1 final修饰变量生活生产中有些数据是不可变的,做成常量使用final修饰的变量成为常量,不可再次赋值final修饰的变量必须在声明的后面直接赋值常量字面值常量1/3/555aaa、hhh、hehehe自定义常量把变量使用final修饰final int area = 960命名自定义常量的时候字母全部大写,多个单词使用下划线连接package com.qf.final0;public class Demo01 {

2020-08-14 09:10:42 111

原创 Java基础——Day13——抽象、静态和代码块

Day 13(掌握)一、抽象概述不具体的,似是而非的没有具体实现的比如Animal,只是对动物的大概描述能吃能睡具体吃啥,怎么睡我们无从得知,创建出来的对象意义不大我们认为这种类不应该直接创建对象,应该让其子类创建具体的对象怎么限制?做成抽象类abstract修饰的类可以变成抽象类二、抽象类(重点)2.1 定义被abstract修饰的类成为抽象类无法直接创建对象抽象类中可以存在抽象方法package com.qf.abs;publi

2020-08-14 09:08:25 150

原创 Java基础——Day12——三大特性之继承多态

Day 12(掌握)一、子类对象创建过程(掌握)1.1 概述我们已知子类创建出来的对象可以获取到父类中的属性和方法,怎么就能获取到呢?通过代码我们验证了:创建子类对象的时候,会先创建父类的对象package com.qf.create;public class Demo01 { public static void main(String[] args) { // 创建子类对象的时候,会默认调用父类的构造方法---会先创建父类的对象 Dog dog = new Dog();

2020-08-12 09:02:15 161

原创 Java基础——Day11——三大特性之封装和继承

Day11(掌握)一、封装概述1.1 定义java语言最大的特点:面向对象面向对象的特点封装继承多态为什么要封装类中定义的属性很多,在创建对象之后我们可以随意获取和设置这些属性有些属性的值符合语法定义,但是不符合生产需求和常识需要把这个属性隐藏起来,不让外部随意访问,使用private对属性进行修饰被private修饰的属性或者方法只能在类的内部访问到,外部无法访问,所以对于类外部的其他内容来讲属性变得不可见可以在这个类的内部定义一组和属性相关的方法setter设

2020-08-11 09:17:40 270

原创 Java基础——Day10——构造方法和this的含义和使用

Day 10一、构造方法概述构造方法是一个特殊的方法是创建对象时候调用的方法方法的名字很特殊:必须和类名保持一致,大小写都要一样方法没有返回值方法也没有返回值类型构造方法无法在外部手动调用public 类名(参数列表){​ 构造方法的方法体}package com.qf.cons;public class Demo01 { public static void main(String[] args) { System.out.println(">>>

2020-08-10 09:38:54 179

原创 Java基础——Day09——什么是面向对象和方法重载

Day 09笔记一、面向对象概述(了解)面向对象是一种编程思想,是发展到一定阶段后产生的我们有程序的编写者、执行者转换为调用者、指挥者面向过程编程思想注重自己实现的过程类一组具有相同或者相似属性、行为事务的统称是对象的抽象对象现实世界中具体存在的实物是类的具体描述二、类的创建(掌握)创建一个类需要关注的点类名这个类的名字属性这一群对象共有的一些特征可以使用名词提炼法方法一群对象所共有的行为编写成方法目前不用加sta

2020-08-10 09:37:40 83

原创 Java小记——关于private

私有属性,公共访问方法private是私有属性,只能在此类中访问访问类中属性是get和set方法目的是可以对数据进行初步的验证

2020-08-06 22:26:35 91

原创 Java基础——Day08——数组的应用

package com.qf.arrtwo;import java.util.Arrays;public class Demo03 {public static void main(String[] args) {String[][] names = {{“西游记”,“奔波儿灞”,“霸波尔奔”,“金角大王”,“银角大王”},{“三国演义”,“马超”,“马岱”,“马腾”,“马谡”},{“水浒传”,“李逵”,“李鬼”,“扈三娘”,“王英”},{“红楼梦”,“贾宝玉”,“林黛玉”,“薛宝钗”,“王

2020-08-06 22:24:51 93

原创 Java小记——关于方法的重载

java——关于方法的重载在java中我们经常会遇到一下问题:1.用到同一个类型的方法(几个数据的相加)这时候我们可以通过方法的重载来让同样类型的方法拥有相同的方法名而区别在于方法中的形参数据类型,数据个数,顺序存在不同在我们调用方法时,通过不同的实参数据类型,数据个数和顺序来调用想要的方法。 package com.zmx.code;public class TestCalculator { public static void main(String[] args) { // T

2020-08-05 21:02:55 104

原创 Java获取一个数据的类型

/**获取数据类型@param object@return*/public static String getType(Object object){String typeName=object.getClass().getName();int length= typeName.lastIndexOf(".");String type =typeName.substring(length+1);return type;}

2020-08-05 15:59:59 695

JDK API 1.6.0.zip

关于一些java建立的基础,大家可以通过对JDK API的学习,加强自身的学习,通过自己对源码的查阅,来加强自身对于源码的了解,从底层来加强自身的能力,进一步加强对原理的理解。

2020-08-17

day01_eesy_01mybatis.zip

mybatis的学习 mybatis的入门案例 第一步:读取配置文件 第二步:创建SqlSessionFactory工厂 第三步:创建SqlSession 第四步:创建Dao接口的代理对象 第五步:执行dao中的方法 第六步:释放资源 注意事项: 不要忘记在映射配置中告知mybatis要封装到哪个实体类中 配置的方法:指定实体类的全限定类名 mybatis基于注解的入门案例: 把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句 同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。 明确: 我们在实际开发中,都是越简便越好,所以都是采用不屑dao实现类的方式。 不管使用XML还是注解配置 但是Mybatis它是支持写dao实现类的。 6.自定义Mybatis的分析: mybatis在使用代理dao的方式实现增删改查时做什么事? 只有两件事: 第一:创建代理对象 第二:在代理对象中调用selectList

2020-05-31

day01_eesy_03mybatis_dao.zip

mybatis的学习 dao mybatis的入门案例 第一步:读取配置文件 第二步:创建SqlSessionFactory工厂 第三步:创建SqlSession 第四步:创建Dao接口的代理对象 第五步:执行dao中的方法 第六步:释放资源 注意事项: 不要忘记在映射配置中告知mybatis要封装到哪个实体类中 配置的方法:指定实体类的全限定类名 mybatis基于注解的入门案例: 把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句 同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。 明确: 我们在实际开发中,都是越简便越好,所以都是采用不屑dao实现类的方式。 不管使用XML还是注解配置 但是Mybatis它是支持写dao实现类的。 6.自定义Mybatis的分析: mybatis在使用代理dao的方式实现增删改查时做什么事? 只有两件事: 第一:创建代理对象 第二:在代理对象中调用selectList

2020-05-31

day01_eesy_02mybatis_annotation.zip

mybatis的学习 注解 mybatis的入门案例 第一步:读取配置文件 第二步:创建SqlSessionFactory工厂 第三步:创建SqlSession 第四步:创建Dao接口的代理对象 第五步:执行dao中的方法 第六步:释放资源 注意事项: 不要忘记在映射配置中告知mybatis要封装到哪个实体类中 配置的方法:指定实体类的全限定类名 mybatis基于注解的入门案例: 把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句 同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。 明确: 我们在实际开发中,都是越简便越好,所以都是采用不屑dao实现类的方式。 不管使用XML还是注解配置 但是Mybatis它是支持写dao实现类的。 6.自定义Mybatis的分析: mybatis在使用代理dao的方式实现增删改查时做什么事? 只有两件事: 第一:创建代理对象 第二:在代理对象中调用selectList

2020-05-31

day01_eesy_01mybatis.zip

学习笔记——mybatis的起步(1) 1.什么是框架? 他是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题。 使用框架的好处: 框架封装了很多的细节,使开发者可以使用极简的方式实现功能。大大提高开发效率。 2.三层架构 表现层: 是用于展示数据的 业务层: 是处理业务需求的 持久层: 是和数据库交互的 3.持久层的技术解决方案 JDBC技术: Connection PreparedStatement ResultSet Spring的JdbcTemplate: Spring中对jdbc的简单封装 Apache的DBUtils: 它和Spring的JdbcTemplate很想,也是对Jdbc的简单封装 以上这些都不是框架 JDBC是规范 Spring的JdbcTemplate和Apache的DBUtils都只是工具类 4.mybatis的概述 mybatis是一个持久层框架,用java编写的。 它封装了jdbc操作的很多细节,开发者只需要关注sql语句本身,无需关注注册驱动,创建连接等繁杂过程 它使用了ORM思想实现了结果集的封装。 ORM: Object Relational Mappinng 对象关系映射 简单的说: 就是把数据库表和实体类及实体类的属性对应起来 让我们可以操作实体类就实现操作数据库表。 user User id userId user_name userName 今天我们需要做到 实体类中的属性和数据库表的字段名称保持一致 user User id id user_name user_name 5.mybatis的入门 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao接口 第三步:创建Mybatis的主配置文件 sqlMapConfig.xml 第四步:创建映射配置文件 IUserDao.xml 环境搭建的注意事项: 第一个:创建IUserDao.xml 和 IUserDao.java 时名称是为了和我们之前的只是保持一致。 在Mybatis中它把持久层的接口名称和映射文件叫做:Mapper 所以:IUserDao 和 IUsrMapper 是一样的 第二个:在idea中创建目录的时候,它的包是不一样的 包在创建时:com.itheima.dao它是三级结构 目录在创建时:com.itheima.dao是一级目录 第三个:mybatis的映射配置文件位置必须和到接口的包结构相同 第四个:映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名 第五个:映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名 当我们遵从了第三、四、五之后,我们在开发中就无需再写dao的实现了。 mybatis的入门案列

2020-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除