- 博客(62)
- 收藏
- 关注
原创 SpringBoot——整合Dubbo和Zookeeper
SpringBoot简单整和Dubbo和Zookeeper,环境:JDK、Tomcat、Dubbo、Zookeeper
2022-06-02 21:57:14 436
原创 SpringBoot——JPA的使用、构建restful风格的JPA
1.JPA概述JPA:Java持久化规范。JPA(Java Persistence API)是Sun官方提出的Java持久化规范。为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现是为了简化现有的持久化开发工作和整合ORM技术。结束各个ORM框架各自为营的局面。2.Spring Data JPASpring Data JPA是Spring基于ORM框架、JPA规范的基础上封装的一套JPA应用框架,是基于Hibernate之上构建的JPA使用解决方案,用极简的代
2022-05-24 14:20:31 544
原创 SpringBoot——整合Swagger2构建Restful风格的文档
1.概述(1).SpringBoot创建RESTFUL风格接口,也称为表述性状态转移。如:GET、POST、PUT、DELETE等(2).使用swagger2构建restful接口测试。优点:可以生成文档形式的api并提供给不同团队 便于自测,也便于领导查询任务量 无需过度冗余的word文档2.pom.xmlweb场景+数据库连接+连接池+swagger2 <!-- web场景 --> <dependency>
2022-05-23 22:57:46 336
原创 SpringBoot——静态资源访问的四种方式
1.默认的静态资源目录 /static /public /resources /META-INF/resources动态资源目录:/templates2.resources静态资源目录图片存放3. 静态资源目录访问3.1.通过路径访问静态资源 http://localhost:8080/a.jpg http://localhost:8080/b.jpg http://localhost:8080/c.png htt...
2022-05-21 16:01:05 10779
原创 SpringBoot——MybatisPlus整合实现数据表的查询分页功能和删除功能
1.pom.xml <!-- 数据库连接 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- 引入静态模板引擎,才能访问templates下
2022-05-21 12:51:35 587
原创 SpringBoot——druid监控中心
1.方式1:使用configuration自定义配置类方式注入容器开启druid监控中心。 略。2.方式2:SpringBoot整合Druid的jar包,开启监控中心2.1pom.xml <!-- 官方的数据域,监控中心、druid数据域 --> <dependency> <groupId>com.alibaba</groupId> <art..
2022-05-20 19:17:33 259 1
原创 SpringBoot——MyBatis整合数据库连接、配置文件方式、注解方式、配置文件+注解方式
1.pom.xml <!-- 连接数据库 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <d
2022-05-20 18:01:19 801
原创 SpringBoot——thymeleaf模板引擎
1.pom.xml <!-- web场景jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-
2022-05-20 13:59:48 216
原创 SpringBoot——web场景请求域、路径域
1.请求域request1.1pom.xml <!-- web场景jar包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependenc
2022-05-19 19:38:13 470 2
原创 SpringBoot——yml配置文件多数据类型自定义Bean注入容器
1.pom.xml <!--web项目jar包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--se
2022-05-19 14:28:49 630
原创 SpringBoot——Lombok的使用
1.pom.xml <!--web项目--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--这个包引入能
2022-05-19 13:58:56 359
原创 SpringBoot——第一个HelloWorld、自定义bean注入容器
1.第一个HelloWorld创建springboot项目。1.1pom.xml <!-- 开发web场景需要导入的包--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>
2022-05-18 21:14:16 317
原创 Mybatis多表查询(一对一、一对多映射实例)
1.首先数据库中存在两张表,用户表User、角色表Role。2.分析表User和表Role的映射关系。User对Role:一对一。Role对User:一对多。一对一、多对一:使用association标签。一对多、多对多:使用collection标签。3.一对一映射实例。3.1:使用SQL语句查询User表与Role表中相同的roleId与输入的值匹配,然后将Role表中的字段roleName的记录输出。3.2:使用Maven创建生成多表文章使用Maven搭建myb.
2020-12-18 13:30:34 981
原创 Maven搭建Mybatis工程
1.先在Eclipse中安装好Maven插件,创建Maven工程:FIle ->new ->Maven Project ->next -> next->填写包名和项目名字(Group id:填包名、Artifact id:填项目名)->Finsh。2.Maven项目包下的子包简诉。目录 文件 pom.xml maven的配置文件 /target 编译产生的文件 /src/main/java 项目源代码 /src/main
2020-12-08 20:53:16 289
原创 Mybatis中的模糊查询
1.当我们从数据库中查询数据时,大批量的数据会存在相同的数据。比如重名的人,当我们使用姓名查询该姓名的所有数据时,我们需要在Mybatis中使用到模糊查询的概念。在接口中定义函数: //模糊查询 使用name查询的数据为对象TB7,返回的不止一个对象使用List public List<TB7> queryByName(String name);2.映射器中解析Mapper。 <select id="queryByName" parameterType="ja
2020-11-26 19:12:06 681
原创 MyBatis——Properties解析和设置及别名
mybatis中的标签及使用属性值参考mybatis官网。1.在mybatis中,我们创立的configuration配置文件。在数据源中,如果不使用properties标签进行配置文件读取,那么就需要写固定的值。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/
2020-10-06 16:06:22 514 1
原创 MyBatis初识
1.什么是mybatis?按照网上的描述:MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map接口和POJO到数据库记录。相对Hibernate和Apache OJB等"一站式"ORM解决方案而言,Mybatis 是一种"半自动化"的ORM实现。2.MyBatis相对于JDBC有什么优点?数据库连接池:减少数据库频繁的开启关闭造成的资
2020-09-16 11:34:43 129
原创 DBCP数据库连接池技术
1.在项目中导入DBCP第三方连接池jar包。2.在properties配置文件中添入需要使用的连接池参数。部分连接池参数含义:完整可参考http://commons.apache.org/proper/commons-dbcp/configuration.htmlinitialSize 启动连接池时创建的初始连接数 maxTotal 可以同时从连接池分配的活动连接的最大数量,或者为无限制的最大数量(0)。 minIdle 最小连接数 maxIdle 最大
2020-08-25 11:45:52 406
原创 PreparedStatement封装与查询封装简介及案例呈现
1.PreparedStatement封装。使用PreparedStatement主要就是为了防止SQL注入问题,PreparedStatement比statement多了一个SQL语句预处理的功能,下边我将PreparedStatement进行了封装处理。前边的JDBC简易封装那篇博客有将加载驱动、获取连接对象的方法进行过封装。 public PreparedStatement getPreparedStatement(String sql,Object...args) throws SQLE
2020-08-24 19:30:10 1311
原创 Properties引入配置文件
1.Properties如何创建?eclipse中:new->file->输入名称2.Properties创建范例。JDK中查询Properties可以看出,Properties继承Hashtable,所以Properties的格式也是键对应值。driverClassName:驱动 url:数据库位置 username:数据库账户名 password:我的数据库密码3.如何调用配置文件Properties?我之前在工具类的封装中使用了静态代码块来封装驱动的加载,现
2020-08-24 13:28:13 1707
原创 SQL注入问题解决
1.什么是SQL注入?通过SQL语句代码的漏洞,进而攻击系统,从而引起数据泄露。例如:我的数据库表中的字段记录是当我Java与数据库进行连接后使用姓名查询,输入'or 1 or'。这个姓名很明显是不存在的,但是查询出来的结果是可以看到,使用'or 1 or'查询出来的结果是我之前进行查询过的结果,这就是SQL注入。2.解决SQL注入。2.1可以对Java语言中传递的字符进行预处理,但是量大,实施时间过长,难以实现。2.2使用PerpredStatement与数据库连接,获
2020-08-24 11:27:29 438
原创 JavaBean简介和项目分包
1.JavaBean是什么?当一个POJO可序列化,有一个无参的构造函数,使用get和set方法来访问属性时,他就是一个JavaBean。2.JavaWeb项目。一个简单的Web项目,它的框架大概分为领域对象层pojo、数据链路层Dao、业务层Service和ServiceImpl、控制层Servlet、以及Jsp。下边简单说一下pojo、Dao、Service和ServiceImpl的浅含义。Pojo:刚开始我的理解是pojo其实就是JavaBean,但是实际上不是的。pojo具备业务逻辑
2020-08-23 16:18:06 262
原创 JDBC简易封装
1.JDBC回顾。根据前边所写的JDBC的代码,我们知道驱动加载、获取连接对象、资源释放是单一的,而statement对象获取、ResultSet结果集的获取、结果集的输出是多变的。2.加载驱动的封装。在jdbc连接数据库的过程中,驱动的加载在程序启动的时候就被加载并且执行了一次。这时候我们需要使用到静态关键字static来封装代码。静态代码块:简单的说,静态代码块就是关键字static修饰的代码块,记住的是,它的特点是随着类的加载,类中的静态代码块也被执行且只执行一次。static{
2020-08-22 17:52:52 387
原创 JDBC
1.什么是JDBC?JDBC是Java连接数据库的一种技术,它是Java的一些接口,由数据库厂商提供的接口,我们运用这种技术用Java代码来进行对数据库数据的更新。2.API。DriverManager:负责加载各种不同驱动程序(Drivert),并根据不同的请求,向调用者返回相应的数据库连接(Connectiont)。 Driver:驱动程序,会将自身加载到DriverManager中去,并处理相应的请求并返回相应的数据库连接(Connectiont)。 Connection:数据库连接,
2020-08-21 21:58:49 126
原创 JavaWeb7.23(六)
问题:四表连查 user role menu funs role_menu1. 类与类之间的关系。2.表与表之间的关系。3.要求使用maven构建项目,使用mybatis通过username来进行查询,上传运行结果。一:表字段与数据。user表role表menu表funs表role_menu表二:问题解答。表与表之间的关系:1.user表和role表中。user对role是多对一的关系role对user是一对多的关系2.me
2020-07-30 00:53:20 156
原创 JavaWeb7.16(四)
题目:1.创建一个user表,id int,username varchar(20),passwordvarchar(20),roleldvarchar(20);2.能够实现对user表的持久化操作,进行CURD增删查改,使用Mybatis、JDBC、Statement、PreparedStatement。3.方法public User query(String id);public List query(String username);public void updata()..
2020-07-22 17:06:11 170
原创 Mysql四种锁
行级锁:在mysql中,行级锁不是直接锁记录,而是锁索引,索引分为主键索引和非主键索引。 一条SQL语句操作了主键索引,那么MySQL将主键索引锁定。 一条SQL语句操作了非主键索引,那么MySQL先锁定非主键索引,再锁定相关的非主键索引。 在InnoDB中,如果SQL语句没有涉及索引,则会通过隐藏的聚簇索引来对记录加锁。也就是没有通过索引搜索数据,那么InnDB就会对表中所有的数据进行加锁。无索引,查找记录时候需扫描全表,扫描全表,则锁定表。 row-level loking ,锁定一行记录
2020-07-20 20:59:18 205
原创 多表查询
多表查询:在查询为多张表的数据时,通常在from表和表之间使用逗号,作为间隔符号。1.内连接inner join,相当于两个集合关键字段的全交叉记录。1:select * from table_name1inner join table_name2; 2:select * from table_name1,table_name2;2.等值连接,将有等值条件筛选的称为等值连接,也就是相同外键约束的组合。1:select * from table_name1 inner join tabl.
2020-07-14 16:50:54 9592
原创 数据库的常用命令2
1.字段的null与not null。null:表示字段可以为null not null:表示字段不可为null2.自动编号(auto_increment),与主键(primary key)同时使用。3.主键约束。每张表都会存在主键,并且有且仅有一个主键,主键是这张表唯一标识,可以用来代表表中的所有数据,主键不可以重复,并且主键可以是多个字段,多个字段形成的主键称为联合主键。一般情况下,我们创建的表中通常将ID这类型的字段设置为主键,每张表在Java对应一个实体类,主键自动是非空约束
2020-07-14 15:22:00 131
原创 JavaWeb7.7-7.8(二)
1.抽象类为什么不能创建对象? 抽象类不能以自身的构造方法来创建对象,因为我们本身创建的抽象类里边存在了抽象方法,它的函数概念是模糊的,所以是不能实例化对象的。只有派生类继承了抽象类,并且实现了抽象类中的所有抽象方法,这时候我们才能以父类引用指向子类对象来创建对象。也就是: public abstract class A{} class B extend A{}A a=new B();正确 A a=new A();错误2.SQL查询语句中关键字的执行顺序。SQL中的部分...
2020-07-12 23:49:07 119
原创 数据库的常用命令1
1.Win+R的MySQL的启用和关闭。启用:net start mysql 关闭:net stop mysql2.MySQL的登录和退出。mysql -uroot -p -P3306 password:密码 退出:exit或者quit3.服务器版本、日期、用户显示显示服务器版本:SELECT VERSION(); 显示当前日期:SELECT NOW(); 显示当前用户:SELECT USER();4.常看数据库。show databases;5.创建数据库。
2020-07-11 14:39:36 303 1
原创 JavaEE——CSS
1.什么是CSS? 1、css是层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。 2、CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 3、CSS为HTML标记语言提供了一种样式描述,定义了其中元素...
2019-10-21 20:19:39 621
原创 JavaEE——HTML
1.什么是HTML? 1、HTML指的是超文本标记语言,HTML的英文全称是 Hypertext Marked Language。 2、用HTML编写的超文本文档称为HTML文档,它能独立于各种操作系统平台(如UNIX, Windows等)。 3、使用HTML语言,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML文件“翻译”成...
2019-10-17 00:56:22 3009
原创 二叉树概念
1.树的定义。 树就是节点与节点连接形成的,每个节点连接的下一个节点间不能彼此连接,否则就是图不是树了。 2.树节点的分类。 根节点:树的第一个节点。 度:连接2个节点,就是度为2,连接1个节点,就是度为1,不连接节点,就是度为0。 叶节点:不连接节点的节点称为叶节点。 3.树的层次。 树中节点的最大深度。 4.树图形简述(二...
2019-10-03 23:51:20 566
原创 递归思想(分治策略,回溯算法)
1.递归的概念。 递归是一种针对使用简单的循环难以编程实现的问題,提供优雅解决方案的技术。简单地说,递归是将一个很复杂的问题,划分为很多的小问题,从小问题开始解决,然后将小问题的结果进行返回的方法。对于for循环来说,可以写但是for循环的次数和量特别大(说到底就是代码量十分庞大),甚至说for循环无法写出来。 就按电脑文件夹来说,文件夹里边可能有文本,也可能有文件夹,文件夹里...
2019-09-22 00:38:24 1083
原创 NowCoder(5选)
1、下面哪项是数组优于链表的特点?正确答案: D A 方便删除B 方便插入C 长度可变D 存储空间小解析:1: 数组内存空间少比链表少。2:数组支持随机访问,链表不具有随机访问的特性。3:插入和删除是链表优于数组,数组需要移动被删除或者插入位置之后的元素。2、数组A[0…5,0…6]的每个元素占5个字节,将其按列优先次序存储在起始...
2019-09-19 20:43:16 311
原创 LootCode动态数组练习(724,118,766)
LeetCode724:这是一个返回索引的问题,并且是该索引对应元素左边所有元素之和等于右边所有元素之和,该元素不能参与运算。思路: 1、先对该数组判断是否为一个空数组,空的话直接返回-1。 2、定义一个左边元素和的符号left和右边元素和的符号right,还有元素总和的符号sum。 3、遍历获得元素总和值sum的最后结果。 4、再次...
2019-09-18 23:54:57 326
原创 动态链表4单向循环链表(LoopSingle实现)
1.单向循环链表的定义。 单向循环链表的元素存储和队列的顺序存储ArrayQueueLoop的优化有点像,元素是围绕着连接在一起的,(存放元素)就像一个圆环一样的结构,而不是一条直线。 单向循环链表图示。 单向循环链表为空时,头指针head和尾指针rear同时指向一个null。 单向循环链表实现的接口是List,不像栈链Linke...
2019-09-17 23:42:30 512
原创 动态链表3队列的链式存储结构(LinkedQueue实现)
1.队列的链式存储结构定义。 队列的链式存储结构,其实就是线性表的单链表。这里的队列同样的具备头结点指针head,head位置不存放元素。尾指针rear,rear位置存放元素。 空队列的判断,和线性表一样,当元素总和为空时或者头结点的下一跳指向null,也就是head==rear。 队列的元素进出特点就和栈的链式不一样了,队列的是先进先出。 队列...
2019-09-16 23:10:39 308
原创 动态链表2栈的链表存储结构(LinkedStack实现)
1.栈的链式存储结构定义。 栈只是栈顶来做插入和删除操作,那么链表的栈顶应该放在链表的头部还是尾部呢。由于链表存在头指针,栈存在栈顶指针,那么便让它们指向一个位置更加方向操作和理解,所以将栈顶放在单链表的头部。也因如此,单链表的头结点也没有意义了。所以对于栈的链式存储来说,不需要头结点。 同时,栈的链式存储基本不存在栈满的情况,主要看系统的内存。 栈元素的进出...
2019-09-16 20:57:08 262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人