- 博客(101)
- 资源 (13)
- 收藏
- 关注
原创 Spring之DI(依赖注入)
依赖注入(DI)是一个过程,在这个过程中,对象仅通过构造函数参数、工厂方法的参数或在对象被实例化后通过属性设置来定义它们的依赖项(即与该对象一起工作的其他对象)。然后,容器在创建 bean 时注入这些依赖项。这个过程基本上是与对象直接通过构造类或等机制来控制其依赖项的实例化或位置是相反的,因此得名控制反转。// 对象不直接创建自己,而是通过 Spring 容器创建,那么 Spring 容器是如何创建对象的?使用 DI 原则,代码会更简洁,当对象具有依赖关系时,也能更有效的解耦。
2023-05-25 19:41:15
817
原创 Spring框架之体系结构和目录结构
Spring是由Rob Jonson租住和开发的一个分层的JavaEE/SE一站式(full stack)轻量级开发框架,他的核心思想是控制翻转(Inversion of Control IOC)和面向切面(Aspect Oriented Programming, aop)的编程,其中IoC是Spring的基础,它支撑着Spring对Java Bean的管理功能;Aop是Spring的重要特性,AOP是通过预编译的方式和运行期间动态代理实现程序功能,即在不修改代码的情况下,为程序统一添加功能。
2023-05-25 14:26:44
1464
原创 MyBatis之注解开发
除了XML映射方式,MyBatis还支持注解方式实现POJO对象和数据表之间的关联映射,使用注解的方式一般将SQL语句直接写到接口上。与XML的映射方式相比,基于注解的映射方式相对简单。Mybatis提供的注解有:1.环境准备1.1 数据库准备USE mybatis;# 创建一个名称为tb_worker的表CREATE TABLE tb_worker( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(32), ag
2023-05-19 15:37:17
995
原创 MyBatis之缓存机制
缓存即为存在内存中的临时数据.将用户经常查询的数据存放在缓存(内存)中,用户去查询数据就不用去每次去数据库中查询,而是去缓存中查询,从而提高了查询的效率,解决了高并发系统的性能问题.MyBatis提供了两种缓存机制:一级缓存(本地)和二级缓存(全局)1、默认情况下,只有一级缓存( SqlSession级别的缓存也称为本地缓存)开启。2、二级缓存需要手动开启和配置,他是基于namespace级别的缓存。3、为了提高扩展性。MyBatis定义了缓存接口Cache。
2023-05-18 09:42:53
1515
原创 MyBatis的关联映射
结果映射(resultMap)–主要使用这两个标签association – 一个复杂类型的关联;许多结果将包装成这种类型嵌套结果映射 – 关联可以是 resultMap 元素,或是对其它结果映射的引用collection – 一个复杂类型的集合嵌套结果映射 – 集合可以是 resultMap 元素,或是对其它结果映射的引用。
2023-04-21 23:42:08
1138
原创 MyBatis关联映射之ResultMap
MyBtis关联映射不得不提到ResultMap元素MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子。我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。而 ResultMap 就是 MyBatis 对这个问题的答案。默认情况下,MyBatis程序运行时会自动将查询到的数据与需要返回的对象的属性进行匹配赋值(数据包中的列名与对象属性名称完全一致才能匹配成功赋值)。
2023-04-21 07:14:52
936
原创 MyBatis 动态SQL之<foreach>标签
foreach 标签用于循环语句,它很好的支持了数据和 List、set 接口的集合,并对此提供遍历的功能。对于一些 SQL 语句中含有 in 条件,需要迭代条件集合来生成的情况,可以使用 foreach 来实现 SQL 条件的迭代。要查询一个表中id为1,3,4的数据,可以把需要查的这些id的数据存放到一个集合中,通过遍历这个集合来查询到这些数据,这种时候我们就用到foreach了。
2023-04-06 13:27:16
5927
1
原创 MyBatis 动态SQL之<set>标签
在 Mybatis 中,update 语句可以使用 set 标签动态更新列。set 标签可以为 SQL 语句动态的添加 set 关键字,剔除追加到条件末尾多余的逗号。作用:自动在要修改的第一个字段之前添加SET关键字去掉要修改的第一个字段前的连接符(,)
2023-04-06 11:18:56
5302
原创 MyBatis 动态SQL之<trim>标签
一文中提到:在if标签和choose-when-otherwise标签的案例中,SQL语句加入了一个条件’1=1’,它既保证了where后面的条件成,页避免了where后面出现的第一个词语是and 或者or之类的关键字。假设把条件‘1=1’去掉,可以出现以下语句上面语句因为出现了where后直接是and,在sql运行时会报语法错误。这个时候可以使用where标签处理,这里也可以使用trim标签处理。
2023-04-06 10:34:02
3240
原创 MyBatis 动态SQL之<where>标签-
where 标签主要用来简化 SQL 语句中的条件判断,可以自动处理 AND/OR 条件。在if标签和choose-when-otherwise标签的案例中,SQL语句加入了一个条件’1=1’,它既保证了where后面的条件成,页避免了where后面出现的第一个词语是and 或者or之类的关键字。假设把条件‘1=1’去掉,可以出现以下语句上面语句因为出现了where后直接是and,在sql运行时会报语法错误。这个时候可以使用where标签处理。
2023-04-06 09:59:54
16158
1
原创 MyBatis 动态SQL之<choose><when><otherwise>标签-
MyBatis 中动态语句 choose-when-otherwise 类似于 Java 中的 switch-case-default 语句。由于 MyBatis 并没有为 if 提供对应的 else 标签,如果想要达到…… 的效果,可以借助 、、 来实现。
2023-04-06 09:25:58
12730
原创 MyBatis 动态SQL之<if>标签-
if标签:条件判断MyBatis if 类似于 Java 中的 if 语句,是 MyBatis 中最常用的判断语句。使用 if 标签可以节省许多拼接 SQL 的工作,把精力集中在 XML 的维护上。if 语句使用方法简单,常常与 test 属性联合使用。
2023-04-05 23:00:04
10836
原创 MyBatis 动态SQL
MyBatis 的强大特性之一便是它的动态 SQL。通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。常用元素SQL片段:有时候可以通过将部分代码抽出来作为公用,使用时候可以直接调用。
2023-04-05 21:29:34
958
原创 MyBatis的核心配置
mybatis:https://mybatis.org/mybatis-3/zh/index.html主要有三个核心对象:SqlSessionFactoryBuilder, SqlSessionFactory, SqlSession这个是一个构建器,是用来构建SqlSessionFactory对象的,SqlSessionFactoryBuilder可以通过读取mybatis的配置文件,然后构建一个SqlSessionFactory对象,SqlSessionFactoryBuilder将mybatis配置文
2023-03-18 07:31:59
994
原创 MyBatis开发环境搭建
mybatis-config.xml内容如下。这里使用的是数据库是mybatis。根据User的id查找User。UserMapper接口如下。实体类User的内容如下。
2023-03-16 08:26:33
1110
原创 HDFS HA高可用
HA概述1)所谓HA(High Available),即高可用(7*24小时不中断服务)。2)实现高可用最关键的策略是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。3)Hadoop2.0之前,在HDFS集群中NameNode存在单点故障(SPOF)。4)NameNode主要在以下两个方面影响HDFS集群NameNode机器发生意外,如宕机,集群将无法使用,直到管理员重启NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用HDFS HA功
2022-05-30 15:01:04
415
原创 ZooKeeper安装、配置和使用
Zookeeper的原理Zookeeper的概述:ZooKeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。ZooKeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,ZooKeeper就将负责通知已经在ZooKeeper上注册的那些观察者做出相应的反应。例如:一组服务器集群、一组客户端,全部通过ZooKeeper注册,如果一台服务节点宕机,则ZooKeeper集群
2022-05-30 10:19:16
373
原创 HDFS文件系统
HDFS是Hadoop体系中最重要的组成部分,主要用于解决海量大数据的存储的问题,是目前应用最广的分布式文件存储系统。1.HDFS解决传统文件存储的两个问题当数据量越来越大时,会遇到存储的瓶颈,需要扩容由于文件太大,上传和下载都非常耗时解决:扩容纵向扩容:增加内存和磁盘横向扩容:增加服务器的数量分块:大的文件分成多个数据库,并行处理数据2.HDFS的基本概念2.1 NameNode(名称节点)NameNode是HDFS集群的主服务器,通常成为名称节点或者主节点。两大功能
2022-04-25 09:53:08
3012
原创 hadoop问题总结
1.The authenticity of host ‘localhost (::1)’ can’t be established.方法1ssh -o StrictHostKeyChecking=no 192.168.121.xxx方法2修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:StrictHostKeyChecking noUserKnownHostsFile /dev/null修改好配置后,重新启动sshd服务即可
2022-04-24 13:53:39
2613
原创 hadoop集群端口
在访问hadoop集群时,经常会遇到各种端口,如通过HTTP访问、TCP访问、RPC访问等。以下是收集整理的一些常用的hadoop集群默认端口。Hadoop环境:2.x一、hadoop配置文件说明:序号配置文件名配置对象主要内容1core-site.xml集群全局参数用于定义系统级别的参数,如defaultFS、Hadoop的临时目录等2hdfs-site.xmlHDFS参数HDFS名称节点和数据节点的存放位置、文件副本的个数、文件读取权限等3m
2022-04-24 08:11:44
1003
原创 Hadoop完全分布式配置
1.虚拟机环境准备1.1 克隆虚拟机1.2. 修改克隆虚拟机的静态IP机器名静态IPmaster192.168.121.151slaver1192.168.121.152slaver2192.168.121.153[root@master Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 #输入以下内容DEVICE=eno16777736TYPE=EthernetONB
2022-04-18 16:17:25
6319
1
原创 hadoop配置使用到的脚本
1.ip_hostname.sh 查看ip和hostname[root@master conf]# vi ip_hostname.sh#!/bin/bash# input ipip=`ifconfig eno16777736| grep "inet" | awk '{ print $2}'`echo "本机的IP是$ip"# input hostnamehostname=`hostname`echo "本机的主机名是$hostname"ip=`ifconfig -a|grep inet|
2022-04-18 16:05:12
2349
原创 Hadoop之本地模式
本地模式介绍本地模式是最简单的模式,所有模块都运行在一个JVM进程中,使用本地文件系统而不是HDFS。特点 :本地模式,即运⾏在单台机器上,没有分布式思想,使⽤的是本地⽂件系统。⽤途 :本地模式主要⽤于对 MapReduce 程序的逻辑进⾏调试,确保程序的正确。由于在本地模式下测试和调试 MapReduce 程序较为⽅便,因此,这种模式适宜⽤在开发阶段。【主要是用于本地开发过程中的运行调试用,下载后的Hadoop不需要设置默认就是本地模式。】平台以及软件介绍平台 & 软件
2022-04-12 09:53:27
1496
原创 Hadoop伪分布式安装
Hadoop伪分布式安装1.安装centos2.修改IP地址3.修改主机映射4.修改IP映射5.查看防火墙和selinux,确认关闭6.密钥7.上传文件到/export/software8.配置环境变量9.修改配置文件9.1 hadoop-env.sh9.2 修改core-site.xml9.3 修改hdfs-site.xml10.开启集群11.访问网址1.安装centos30G空间/boot 300Mswap 2048/ Fill2.修改IP地址vi /etc/sysconfig/netwo
2022-04-11 23:02:49
1206
原创 hadoop安装所用命令记录
1.解压解压到指定目录tar -xzvf jdk-8u301-linux-x64.tar.gz -C ./../servers/指定文件解压tar -zxvf /export/software/hadoop-2.7.4.tar.gz2.建立软连接【快捷方式】ln -s hadoop-2.7.4 hadooplsln -s jdk1.8.0_301/ jdkls3.Linux环境变量在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法。3.1 输出环
2022-03-29 08:12:53
2823
原创 Linux中master操作salver
#!/bin/bashecho "[master]:"jpsssh -T slaver1 <<EOFecho "[slaver1]:"jpsEOFssh -T slaver2 <<EOFecho "[slaver2]:"jpsEOFEOFShell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell。可以把EOF替换成其他东西,意思是把内容当作标准输入传给程序。<&
2021-04-28 09:29:48
746
原创 Oracle JDK各个版本
http://www.oracle.com/technetwork/java/archive-139210.html
2021-04-28 08:22:58
894
原创 You have new mail in /var/spool/mail/root
[root@slaver1 ~]#您在 /var/spool/mail/root 中有新邮件查看内容:cat /var/spool/mail/root关闭提示:echo "unset MAILCHECK">> /etc/profilesource /etc/profile查看大小:ls -lth /var/spool/mail/总用量 1.4M-rw-------. 1 root mail 1.4M 4月 7 11:43 root清空:cat /dev/nul
2021-04-07 11:49:13
171
原创 shell之测试ip主机名,ip地址,连接
测试ip连接[root@master ~]# cat ip.sh #!/bin/bashmaster_name=`hostname`echo $master_nameif [[ $master_name == 'master' ]];then echo "hostname[master] set ok!"else echo "hostname[master] set fail! Current hostname is $master_name" fimaster_ip=$(i
2021-04-07 11:27:09
388
原创 bash 编程之ssh登录
#!/usr/bin/expect // 指定shebangset timeout 3 // 设定超时时间为3秒spawn ssh user_name@172.***.***.*** // fork一个子进程执行ssh命令expect "*password*" // 期待匹配到 'user_name@ip_string's password:' send "my_password\r"
2021-04-07 10:58:59
543
原创 OLAP和OLTP比较
https://www.cnblogs.com/lingchen-liang/p/10690619.htmlOLTP与OLAP的介绍数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果
2021-02-13 08:54:31
649
00-myspring.war
2020-09-03
Thinking.In.C++,.Second.Edition.Volume.1.pdf
2008-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人