- 博客(89)
- 资源 (1)
- 收藏
- 关注
原创 在Linux系统下安装jdk
卸载现有的JDK安装 JDK 前,一定确保提前删除了虚拟机自带的 JDK。[root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e–nodeps用 XShell 传输工具将 JDK 导入到 opt 目录下面的 software 文件夹下面将上传的jdk压缩包解压到文件夹module中tar -zvxf jdk-8u212-linux-x64.tar.gz -C /opt/module/配置 JDK 环境变量.
2021-08-08 15:14:18
520
原创 linux上安装 pcre的时,输入make && make install 报错make: *** 没有指明目标并且找不到 makefile。 停止。
linux上安装 pcre的时,输入make && make install 报错make: *** 没有指明目标并且找不到 makefile。 停止。我的问题是,在进行./configure时就已经报错,但是没有看到,我报的错误是:configure: error: You need a C++ compiler for C++ support.所以我去安装了c++环境 yum install gcc-c++之后在运行命令:make && make ins
2021-08-07 20:58:00
3275
1
原创 hadoop虚拟机没有ens33
在学习RabbitMQ时,因为前一天晚上hadoop虚拟机关闭不当,第二天使用xshell连接虚拟机时连接失败,使用ifconfig查看的时候,发现没有ens33,尝试了很多方法都不行,最后通过下面的方法成功了:前提是你的NetworkManager是开启的,开启的命令是:systemctl start NetworkManager1.输入一下命令:nmcli n如果是disabled则执行第二步,如果不是,则该篇文章的解决方法应该不能够解决这个问题2.输入以下命令:nmcli n on
2021-07-23 15:20:11
1960
5
原创 NoSQL型数据介绍-Memcache-Redis-MongoDB
Memcache数据库很早出现的NoSql型数据库数据都在内存中,一般都不支持持久化支持简单的key-value模式,支持类型单一一般是作为缓存数据库辅助持久化的数据库Redis几乎覆盖了Memcache的绝大部分功能数据库都在内存中,支持持久化,主要用作备份恢复除了支持简单的key-value模式,还支持多种数据结构的存储,如list、set、hash等。一般是作为缓存数据库辅助持久化的数据库MongoDB高性能、开源、模式自由的文档型数据库数据都在内存中,如果内存不足,
2021-06-30 17:08:04
169
原创 springboot----拦截器
拦截器步骤编写一个拦截器实现HandlerInterceptor接口。package com.fzl.web05admin.interceptor;import lombok.extern.slf4j.Slf4j;import lombok.val;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import jav
2021-06-22 19:04:05
145
原创 Springboot --web原生组件注入
方法一、使用Servlet API在启动类的上面加上@ServletComponentScan注解,添加扫描路径,否则不能够扫描到注入的web原生组件。注入web原生组件–Servlet创建一个类,继承HttpServlet,并重写HttpServlet类的方法,在类名上面加上@WebServlet注解。Servlet组件注入成功!。代码如下:@Slf4j@WebServlet(urlPatterns = {"/my","/my1"})public class MyServlet exte
2021-06-15 12:55:22
390
3
原创 spring boot---文件上传
表单页面 <form role="form" th:action="@{/upload}" method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="exampleInputEmail1">邮箱</label> .
2021-06-12 15:30:14
139
原创 1.开发小技巧----------Lombok
一、Lombok 是用来做什么的?官方给出的解释如下:翻译过来就是:Lombok项目是一个Java库,该库会自动插入您的编辑器和构建工具中,从而为您的Java增光添彩。永远不要再写另一个getter或equals方法,带有一个注释的您的类有一个功能全面的生成器,自动化您的日志记录变量等等。二、总结:Lombok作用简化JavaBean开发简化日志开发三、Lombok如何使用导入Lombok依赖 <dependency> <grou
2021-05-18 20:47:11
160
原创 SpringBoot报错:This application has no explicit mapping for /error, so you are seeing this as a fallba
SpirngBoot 报错:This application has no explicit mapping for /error, so you are seeing this as a fallback.报如下图所示的错误:原因是因为主程序位置放错了,主程序需要放在 最外侧,即所有组件的上一层目录下。错误的放法:正确的位置:...
2021-04-01 16:46:38
1277
原创 03.mybatis-plus通用的增删改查操作
插入操作1)Integer insert(T entity);2)Integer insertAllColumn(T entity)/** * 测试 通用插入操作 */ @Test public void testInsert(){ Employee employee = new Employee(); employee.setAge(20); employee.setEmail("mp2@163.com");
2021-03-28 18:38:31
380
1
原创 02.mybatis-plus通用CRUD--插入insert
一、通用 CRUD提出问题假设已存在一张表tbl_employee,且已有对应的实体类(Employee),实现tbl_employee表的CRUD操作。实现方式:基于mybatis:需要编写EmployeeMapper接口,并手动编写CRUD方法提供EmployeeMapper.xml映射文件,并手动编写每个方法对应的sql语句。基于mybatis-plus:只需要创建EmployeeMapper接口,并集成BaseMapper接口。这就是使用mybatis-plus需要完成的所有操作,甚至不
2021-03-28 18:30:12
979
原创 01.mybatis-plus集成spring
集成 MyBatis-Plus一、准备工作创建数据库mp,创建表(employee),插入几条数据。CREATE DATABASE mp;-- 使用库USE mp;-- 创建表CREATE TABLE tbl_employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(50), email VARCHAR(50), gender CHAR(1), age int);创建JavaBean:Employ
2021-03-27 13:16:33
180
原创 30.MyBatis——分页插件-pagehelper的使用
分页插件pagehelp的使用方法可以看它的官方文档:MyBatis分页插件-pagehelp
2021-03-26 16:32:55
243
原创 29.MyBatis_逆向工程
MyBatis Generator简介MyBatis Generator简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,可以快速的根据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写。官方文档地址http://www.mybatis.org/generator/MyBatis Generator使用步骤编写MyBatis Generator的配置文件(重要几处配置)1)jdbc
2021-03-23 14:29:04
142
原创 28.MyBatis_动态sql_foreach_mysql下foreach批量插入的两种方式
dao接口:public interface EmployeeDynamicSQLMapper { public void addEmps(@Param("emps") List<Employee> emps);}方法一:MySql下批量保存:可以foreach遍历mysql支持values(),(),()语法 <insert id="addEmps" > insert into tbl_employee (last_name,email,g
2021-03-17 11:35:14
332
原创 27.尚硅谷_MyBatis_动态sql_foreach_遍历集合
foreach遍历集合使用场景:遍历id为(1,3,4)的员工信息。创建接口EmployeeDynamicSQLMapper.java,在接口中定义条件查询方法。public interface EmployeeDynamicSQLMapper { //查询员工id'在给定集合中的 public List<Employee> getEmpsByConditionForeach(@Param("ids")List<Integer> ids);}创建Em
2021-03-11 16:37:01
230
原创 26.尚硅谷_MyBatis_动态sql_set_与if结合的动态更新--传来什么参数就修改什么参数,不用修改全部
适用场景在开发过程中,我们经常会遇到修改信息,但一条记录我们每次需要修改的字段不一样(比如,某一次只想要修改员工的姓名,下一次只想修改员工的邮箱,这时候我们不需要一次性修改员工的所有信息),可以使用set与if结合动态更新记录。创建接口EmployeeDynamicSQLMapper.java,在接口中定义条件查询方法。public interface EmployeeDynamicSQLMapper { public void updateEmp(Employee employee);
2021-03-11 16:10:43
255
原创 25.MyBatis_动态sql_choose_分支选择---根据所带的条件中的一个进行查询
choose分支选择使用场景示例:查询员工信息,如果带了id就用id查,如果带了lastName就用lastName查,只会带入其中一个查询。相关文件(接上一篇文章:24.MyBatis学习–动态sql_if_判断&OGNL&where查询条件&trim_自定义字符串截取解决sql拼装出现的问题dao接口: public List<Employee> getEmployeeByConditionByChoose(Employee employee);创建
2021-03-11 15:46:30
532
原创 24.MyBatis学习--动态sql_if_判断&OGNL&where查询条件&trim_自定义字符串截取解决sql拼装出现的问题
前面的文章中一直介绍的都是静态sql,在实际开发过程中,我们会遇到条件查询的需求,根据所给的多个条件查询,mybatis提供了动态sql实现方法。需求条件查询员工信息条件:员工id或员工lastName或员工email或员工性别。相关文件Employee.javapublic class Employee { private Integer id; private String lastName; private String email; private String gen
2020-12-30 16:54:01
422
原创 23.MyBatis学习--映射文件_select_resultMap_discriminator鉴别器
鉴别器<discriminator javaType=""></discriminator>鉴别器:mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为。例如:封装Employee:如果查出的是女生:就把部门信息查询出来,否则不查询;如果是男生,把last_name这一列的值赋值给email;在dao接口创建对应的查询方法public interface EmployeeMapper { public Employee
2020-12-29 15:43:52
201
原创 22.MyBatis学习--映射文件_select_resultMap_分步查询通过column传递多列值&fetchType
分步查询通过column传递多列值在前面,无论是通过association还是collection实现分步查询,我们通过column来传递的参数都是一个,column是可以传递多列值得。传递方法就是将多列值封装成map形式:column="{key1=column1,key2=column2}".例如:在DepartmentMapper.xml中分步查找部门信息及其下的员工信息。 <resultMap id="MyDeptStep" type="com.fzl.mybatis.bean.Dep
2020-12-28 20:01:37
483
原创 21.MyBatis学习--映射文件_select_resultMap_关联查询_collection分步查询&延迟加载
一、概述在前的文章中介绍了通过association实现分步查询&延迟加载(MyBatis学习–映射文件_select_resultMap_关联查询_association分步查询&&延时加载),以及上一篇文章中通过collection实现级联查询结果集封装(MyBatis学习-映射文件_select_resultMap_关联查询_collection定义关联集合封装规则),这篇文章主要通过collection来实现分步查询&延迟加载。二、使用场景这里,以查询某一部门信
2020-12-28 19:46:19
230
原创 20.MyBatis学习-映射文件_select_resultMap_关联查询_collection定义关联集合封装规则
概述MyBatis学习–映射文件_select_resultMap_关联查询_环境搭建以及级联属性封装结果以及association定义关联对象封装规则,主要通过association来实现关联查询,这篇文章通过collection定义关联集合封装规则来实现关联查询。两篇文章的区别:association主要解决的是多对一的问题(例如,多个员工属于同一部门,查询某个员工信息,同时查询其所属部门信息,这个员工只能隶属一个部门)collection主要针对一对多的问题(例如,一个部门下可以有很多员工,
2020-12-28 18:48:50
244
原创 19.MyBatis学习--映射文件_select_resultMap_关联查询_association分步查询&&延时加载
关联查询_association分步查询在上一篇文章文章中MyBatis学习–映射文件_select_resultMap_关联查询_环境搭建以及级联属性封装结果以及association定义关联对象封装规则,介绍了级联查询结果封装,这篇文章主要讲述如何实现分步查询。使用场景:1. 先按照员工id查询员工信息;2. 根据查询员工信息中的d_id值去部门表查出部门信息;3. 将部门信息设置到员工信息中。使用association进行分步查询示例在接口DepartmentMapper.java中创
2020-12-28 16:21:46
201
原创 18、MyBatis学习--映射文件_select_resultMap_关联查询_环境搭建以及级联属性封装结果以及association定义关联对象封装规则
一、场景查询Employee的同时查询员工对应的部门Employee === Department一个员工有与之对应的部门信息二、环境搭建Employee.javapublic class Employee { private Integer id; private String lastName; private String email; private String gender; private Department dept; public Employee(
2020-12-28 11:24:04
235
原创 17.MyBatis学习--映射文件_select_resultMap_自定义结果映射规则
在前面的文章中,提到过,项目里面的javaBean属性名与数据库表列名不对应的问题(例如,数据库表中last_name属性,在javaBean中,属性名为lastName),在前文中,我们通过在mybatis的全局配置文件中通过设置驼峰命名的方式解决了这个问题。在这片文章中,将采用另一种方式来解决这个问题。通过在全局配置文件中设置 <settings> <setting name="mapUnderscoreToCamelCase" value="true"/&g
2020-12-27 21:00:51
293
2
原创 16.MyBatis学习--映射文件_select_记录封装map,即将查询结果封装成Map集合
一、查询一条记录,将其封装成Map集合返回。其中key为列名,value为其对应的值。只需要将resultType设置为map.在接口中创建查询方法。 //返回一条记录的map;key就是列名,值就是对应的值 public Map<String,Object> getEmpReturnMapById(Integer id);在sql映射文件中创建对应的查询语句。注意,将resultType设置为map型 <select id="getEmpReturnMapByI
2020-12-27 20:24:57
531
原创 15.MyBatis学习--映射文件_select_返回List
若select返回的是一个List集合,则resultType要写集合中元素的类型。示例:dao接口代码:查询所有的员工信息 public List<Employee> getAllEmps();sql映射文件代码:<!-- resultType: 如果返回的是一个集合,要写集合中元素的类型--> <select id="getAllEmps" resultType="com.fzl.mybatis.bean.Employee">
2020-12-27 19:55:01
275
1
原创 14.MyBatis学习--映射文件_参数处理_#与$取值区别
#与$的区别#{}:可以获取map中的值或者pojo对象属性的值;${}:可以获取map中的值或者pojo对象属性的值;示例:select * from tbl_employee where id=${id} and last_name=#{lastName}执行该sql语句控制台可以打印出一下内容:Preparing: select * from tbl_employee where id=2 and last_name=?可以看出#和$的区别:#{}:是以预编译的形式,将参数设置到sq
2020-12-27 19:32:59
134
原创 13.MyBatis报错:Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter
我做的功能是根据id和lastName查找一条员工信息记录。public Employee getEmpByIdAndLastName(Integer id,String lastName); <select id="getEmpByIdAndLastName" resultType="com.fzl.mybatis.bean.Employee" databaseId="mysql"> select * from tbl_employee where id = #{id},
2020-12-27 18:42:57
4731
2
原创 12.MyBatis学习--映射文件_参数处理_单个参数&多个参数&命名参数
【单个参数】:mybatis不会做特殊处理, #{参数名/任意名}:取出参数值。【多个参数】:mybatis会做特殊处理。 多个参数会被封装成 一个map, key:param1...paramN,或者参数的索引也可以 value:传入的参数值 #{}就是从map中获取指定的key的值;异常:org.apache.ibatis.binding.BindingException: Parameter 'id' not found.
2020-12-27 18:42:42
247
原创 11.MyBatis学习--映射文件_insert_获取非自增主键的值_selectKey
<!-- 获取非自增主键的值: Oracle不支持自增;Oracle使用序列来模拟自增; 每次插入的数据的主键是从序列中拿到的值;如何获取到这个值; --> <insert id="addEmp" databaseId="oracle"> <!-- keyProperty:查出的主键值封装给javaBean的哪个属性 order="BEFORE":当前sql在插入sql之前运行 AFTER:当前sql在插入sql之后运行 resu
2020-12-27 15:45:07
311
原创 10.MyBatis学习--映射文件_insert_获取自增主键的值
获取自增主键的值:mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys();useGeneratedKeys="true":使用自增主键获取主键值策略keyProperty:指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性。示例:<!-- parameterType:参数类型,可以省略. 获取自增主键的值: mysql支持自增主键,自增主键值的获取,myb
2020-12-27 15:27:50
335
原创 09.MyBatis学习--映射文件_增删改查
增加一条员工信息在dao接口中创建新增员工信息的方法。返回值可以为int(返回的是更新记录条数),long,boolean(更新记录条数大于0则为true)型,也可以没有返回值public int addEmp(Employee employee);在sql映射文件中编写sql <insert id="addEmp"> insert into tbl_employee (last_name,gender,email) values (#{lastName},#
2020-12-27 15:08:08
219
原创 08.MyBatis学习--全局配置文件_mappers_sql映射注册
我们的sql映射文件需要在mybatis全局配置文件中注册。我们使用mappers标签来进行注册。 mapper:注册一个sql映射 注册配置文件: resource:引用类路径下的sql映射文件 mybatis/mapper/EmployeeMapper.xml url:引用网络路径或者磁盘路径下的sql映射文件 注册接口: class:引用(注册)接口, 1.有sql映射文件
2020-12-26 19:02:14
359
原创 07.MyBatis学习--全局配置文件_databaseIdProvider_多数据库支持
实现多数据库支持步骤在MyBatis中,可以通过databaseIdProvider来实现多数据库支持。databaseIdProvider:支持多数据库厂商type="DB_VENDOR":VendorDatabaseIdProvider,作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql.厂商标识:MySQL,Oracle,SQL Server,xxx在mybatis全局配置文件中使用database
2020-12-26 17:18:01
487
原创 06.MyBatis学习--全局配置文件_enviroments_运行环境
environments:环境们,mybatis可以配置多种环境,default指定使用某种环境。可以达到快速切换环境 environment:配置一个具体的环境信息,必须有两个标签;id代表当前环境的唯一标识 transactionManager:事务管理器; type:事务管理器类型;JDBC(JdbcTransactionFactory)|MANAGED(Managed) 自定义事务管理器:实现Tr
2020-12-26 17:01:29
201
原创 05.MyBatis学习--全局配置文件_typeAliases_别名
通常,我们在xml映射文件中,的返回值类型都是写全类名,但是全类名太长,这时候,我们就可以通过起别名的方式来进行简化。1.在mybatis全局配置文件设置Emolyoyee的别名 <typeAliases> <typeAlias type="com.fzl.mybatis.bean.Employee"></typeAlias> </typeAliases>2.修改映射文件中的返回值类型:<select id="getEm
2020-12-26 15:51:00
228
1
体检医院管理系统-体检报告管理
2020-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人