二、MyBatis
1.#{} 和 ${} 的区别?
1.1 ${}
Properties 文件中的变量占位符 可以用于标签属性值和 sql 内部,属于静态文本替换
1.2 #{}
sql 的参数占位符,MyBatis 会将 sql 中的#{}替换为? 号 ql 执行前会使用 PreparedStatement 的参数设置方法,按序给 sql 的? 号占位符设置参数值
2.xml 映射文件中,除了常见的 select、insert、update、delete 标签之外,还有哪些标签?
2.1 最常见
select、insert、update、delete
2.2 动态sql
trim|where|set|foreach|if|choose|when|otherwise|bind
2.3 其他
< resultMap> 、< parameterMap> 、< sql> 、< include> 、 < selectKey>
为 sql 片段标签,通过 标签引入 sql 片段。
为不支持自增的主键生成策略标签。
3.Dao接口的工作原理,能重载吗?
3.1 概述
Mapper 接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为 key 值,可唯一定位一个 MappedStatement。
接口的全限名,就是映射文件中的 namespace 的值。
接口的方法名,就是映射文件中 MappedStatement 的 id 值。
接口方法内的参数,就是传递给 sql 的参数。
在 MyBatis 中,每一个 、 、 、 标签,都会被解析为一个 MappedStatement 对象。
3.2 工作原理
Dao 接口的工作原理是 JDK 动态代理
MyBatis 运行时会使用 JDK 动态代理为 Dao 接口生成代理 proxy 对象
代理对象 proxy 会拦截接口方法,转而执行 MappedStatement 所代表的 sql,然后将 sql 执行结果返回
3.3 Dao 接口里的方法,参数不同时,方法能重载吗?
3.3.1 常见误解
Dao 接口里的方法,是不能重载的,因为是全限名+方法名的保存和寻找策略。
3.3.2 正确
Dao 接口里的方法可以重载,但是 Mybatis 的 xml 里面的 ID 不允许重复。
Mybatis 的 Dao 接口可以有多个重载方法,但是多个接口对应的映射必须只有一个,否则启动会报错。
延伸 – 不同的 xml 映射文件中:
如果配置了 namespace,那么 id 可以重复。
如果没有配置 namespace,那么 id 不能重复。
3.3.3 Dao 接口方法重载条件
仅有一个无参方法和一个有参方法
多个有参方法时,参数数量必须一致。且使用相同的 @Param ,或者使用 param1 这种
Mybatis 版本 3.3.0测试如下:
Person queryById ( ) ;
Person queryById ( @Param ( "id" ) Long id) ;
Person queryById ( @Param ( "id" ) Long id, @Param ( "name" ) String name) ;
然后在利用 Mybatis 的动态 sql 就可以实现:
< select id= "queryById" resultMap= "PersonMap" >
select
id, name, age, address
from person
< where>
< if test= "id != null" >
id = #{ id}
< / if >
< if test= "name != null and name != ''" >
name = #{ name}
< / if >
< / where>
limit 1
< / select>
能正常运行,并能得到相应的结果,这样就实现了在 Dao 接口中写重载方法。
4.MyBatis 分页及分页插件原理?
4.1 分页
MyBatis 使用 RowBounds 对象进行分页,它是针对 ResultSet 结果集执行的内存分页,而非物理分页。
可以在 sql 内直接书写带有物理分页的参数来完成物理分页功能。
也可以使用分页插件来完成物理分页。
4.2 分页插件的基本原理
使用 MyBatis 提供的插件接口,实现自定义插件。
在插件的拦截方法内拦截待执行的 sql,然后重写 sql。
根据 dialect 方言,添加对应的物理分页语句和物理分页参数。
5.MyBatis 插件运行原理,如何编写插件?
MyBatis 仅可以编写针对 ParameterHandler 、 ResultSetHandler 、 StatementHandler 、 Executor 这 4 种接口的插件
5.1 基本原理
MyBatis 使用 JDK 的动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能。
每当执行这 4 种接口对象的方法时,就会进入拦截方法。。
具体就是 InvocationHandler 的 invoke() 方法,当然,只会拦截那些你指定需要拦截的方法。
5.2 如何编写
实现 MyBatis 的 Interceptor 接口并复写 intercept() 方法。
然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可。
记住,别忘了在配置文件中配置你编写的插件。
6.MyBatis 动态 sql及 执行原理?
动态 sql 可以让我们在 xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能。
执行原理 使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,以此来完成动态 sql 的功能。
7.MyBatis多对多查询及实现方式
7.1 MyBatis能否执行一对多、多对多查询?
MyBatis 不仅可以执行一对一、一对多的关联查询,还可以执行多对一,多对多的关联查询。
多对一查询,其实就是一对一查询,只需要把 selectOne() 修改为 selectList() 即可。
多对多查询,其实就是一对多查询,只需要把 selectOne() 修改为 selectList() 即可。
7.1 MyBatis多对多查询实现方式?
单独发送一个 sql 去查询关联对象,赋给主对象,然后返回主对象。
使用嵌套查询,嵌套查询的含义为使用 join 查询,一部分列是 A 对象的属性值,另外一部分列是关联对象 B 的属性值,好处是只发一个 sql 查询,就可以把主对象和其关联对象查出来。
8.MyBatis 延迟加载及实现原理?
8.1 MyBatis 是否支持延迟加载
支持
MyBatis 仅支持 association 关联对象和 collection 关联集合对象的延迟加载。
association 指的就是一对一,collection 指的就是一对多查询。
在 MyBatis 配置文件中,可以配置是否启用延迟加载 lazyLoadingEnabled=true|false。
8.2 实现原理
使用 CGLIB 创建目标对象的代理对象,当调用目标方法时,进入拦截器方法。 比如调用 a.getB().getName()
拦截器 invoke() 方法发现 a.getB() 是 null 值,那么就会单独发送事先保存好的查询关联 B 对象的 sql,把 B 查询上来。
然后调用 a.setB(b),于是 a 的对象 b 属性就有值了,接着完成 a.getB().getName() 方法的调用。
备注: 几乎所有的包括 Hibernate,支持延迟加载的原理都是一样的。
9.MyBatis Executor 执行器及区别?
9.1 MyBatis 有三种基本的 Executor 执行器
SimpleExecutor 每执行一次 update 或 select,就开启一个 Statement 对象,用完立刻关闭 Statement 对象。
ReuseExecutor 重复使用 Statement 对象。
执行 update 或 select,以 sql 作为 key 查找 Statement 对象,
存在就使用,不存在就创建。
用完后,不关闭 Statement 对象,而是放置于 Map内,供下一次使用
BatchExecutor
执行 update(没有 select,JDBC 批处理不支持 select),将所有 sql 都添加到批处理中(addBatch()),等待统一执行(executeBatch())。
它缓存了多个 Statement 对象,每个 Statement 对象都是 addBatch()完毕后,等待逐一执行 executeBatch()批处理。与 JDBC 批处理相同。
作用范围: Executor 的这些特点,都严格限制在 SqlSession 生命周期范围内。
9.2 如何指定
在 MyBatis 配置文件中,可以指定默认的 ExecutorType 执行器类型。
也可以手动给 DefaultSqlSessionFactory 的创建 SqlSession 的方法传递 ExecutorType 类型参数。
10.MyBatis 的 xml 和数据结构的映射关系?
MyBatis 将所有 xml 配置信息都封装到 All-In-One 重量级对象 Configuration 内部。
标签会被解析为 ParameterMap 对象,其每个子元素会被解析为 ParameterMapping 对象。
标签会被解析为 ResultMap 对象,其每个子元素会被解析为 ResultMapping 对象。
每一个 、、、 标签均会被解析为 MappedStatement 对象,标签内的 sql 会被解析为 BoundSql 对象。
上一篇跳转—Java常用框架(一)Spring 下一篇跳转—Java常用框架(三)SpringBoot及Netty
本篇文章主要参考链接如下:
参考链接-JavaGuide
持续更新中…
随心所往,看见未来。Follow your heart,see light!
欢迎点赞、关注、留言,一起学习、交流!
你可能感兴趣的:(后端Java,开发学习拓展,java,Netty,MyBatis,Spring)
开源的H5即时聊天系统 spring-boot + netty + protobuf + vue ~
lmxdawn
黎明晓spring-bootvuenettywebsocketprotobuf
前言一篇文章引发的思考?一次读公号推文,发现一篇文章写得特好,勾起了好奇心《群聊比单聊,为什么复杂这么多?》,@沈大大.GitHub地址him-vue前往him-netty前往心路历程第一阶段,刚看完文章时,特别兴奋,开始着手,花了一个月把聊天界面基本弄,然后着手于后端,经过些简单的调研,决定用netty搭建一个,后面发现里面的复杂逻辑,再加上心中的火似乎已经熄灭,最后…第二阶段,最近刷公文时又刷
TaskBuilder与VSCode、Eclipse有什么区别?
Nodejs_home
VisualStudioCode(简称“VSCode”)是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于MacOSX、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器,可在桌面上运行,并且可用于Windows,macOS和Linux。它具有对JavaScript,TypeScript和Node.js的内置支持,并具有丰富的其他语言
springCloud网关Zuul和GateWay区别
m0_74823292
面试学习路线阿里巴巴springcloudgatewayjava
getway和zuul在zuul没有进行参数调优的时候,getway的性能会远高于zuul。分析,在空负载的时候,SpringCloudGateway比zuul1性能高50%左右,在模拟处理50ms业务后,,SpringCloudGateway比zuul1性能高9倍左右。但是考虑到zuul使用默认配置,结果可能不准,上网查找zuul生产优化配置调优后再次进行50ms业务处理压测。而SpringCl
Transformer解析——(五)代码解析及拓展
cufewxy2018
深度学习transformer深度学习人工智能
本系列已完结,全部文章地址为:Transformer解析——(一)概述-CSDN博客Transformer解析——(二)Attention注意力机制-CSDN博客Transformer解析——(三)Encoder-CSDN博客Transformer解析——(四)Decoder-CSDN博客Transformer解析——(五)代码解析及拓展-CSDN博客1代码解析代码参考了基于Tensorflow实
HarmonyOS鸿蒙开发实战(5.0)一镜到底“转场动画”案例实践
让开,我要吃人了
OpenHarmony鸿蒙开发HarmonyOSharmonyos华为鸿蒙移动开发开发语言鸿蒙系统android
鸿蒙HarmonyOS开发实战往期必看文章:(持续更新......)HarmonyOSNEXT应用开发性能实践总结(持续更新......)HarmonyOSNEXT应用开发案例实践总结合集(持续更新......)一分钟了解”纯血版!鸿蒙HarmonyOSNext应用开发!最新版!“非常详细的”鸿蒙HarmonyOSNext应用开发学习路线!(从零基础入门到精通ÿ
Nginx 负载均衡与权重配置解析
码农研究僧
配置nginx负载均衡运维
目录前言1.权重分析2.负载均衡3.实战前言对于Nginx的讲解,更多推荐阅读:Nginx配置静态网页访问(图文界面)Nginx将https重定向为http进行访问的配置(附Demo)Nginx从入门到精通(全)详细分析Nginx配置参数(附Demo)在Nginx配置文件中,upstream指令用于定义一组后端服务器,将被用作负载均衡的目标提到的“权重”部分是与负载均衡相关的设置,通过权重来控制每
Spring boot结合easy excel实现低代码量的Excel导入导出
艾迪的技术之路
Java开发Springspringbootexceljava
Springboot实现低代码量的Excel导入导出文章目录Springboot实现低代码量的Excel导入导出maven导入使用泛型实现对象的单个Sheet导入先实现一个类,用来指代导入的特定的对象重写ReadListener接口Controller层的实现通过实现单个Sheet中任意一种数据的导入Controller层的实现重写ReadListener接口使用线程池进行多线程导入大量数据通过泛
利用TCP协议服务器从单用户到多用户的理解思路与解决办法(select\poll\epoll)(一)
Gpangpangwa
网络编程c++tcp
在进行TCP协议的了解之前,首先要了解用到的基本函数:**socket函数是一种可用于根据指定的地址族、数据类型和协议来分配一个套接口的描述字及其所用的资源的函数intsocket(intAdress_family,inttype,intprotocol);af:如AF_INETtype:连接类型,通常是SOCK_STREAM或SOCK_DGRAMprotocol:协议类型,通常是IPPROTO_
Mybatis-plus 分页 自定义count方法
当归1024
javamybatisjava开发语言ruoyi
起因使用了mybatisplus语句中有orderby语法mybatisplus会使用selectcount(*)from(子语句)TOTAL算出total但是会报错查询条件QueryWrapper中还有orderby排序条件,则生成的selectcount(*)from(sql)就会报错除非另外还指定了TOP、OFFSET或FORXML,否则,ORDERBY子句在视图、内联函数、派生表、子查询和
Java响应式编程库Reactor的介绍和基本使用
oscar999
SpringBoot实战开发大全javaReactor响应式编程
关于响应式编程的概念和介绍可以参考:响应式编程(ReactiveProgramming)是什么?Java语言中,RxJava和Reactor是实现响应式编程的两个最流行的库,因为Spring5及更高版本中,Reactor是SpringWebFlux的底层实现框架,用于构建响应式Web应用,所以相比而言,Reactor的使用更为广泛。Reactor实现了响应式流(ReactiveStreams)规范
React前端框架详解
小俊学长
react.js前端框架前端
React前端框架详解React是一个用于构建用户界面的JavaScript库,由Facebook开发并维护。自2013年发布以来,React凭借其独特的优势,在前端开发领域迅速崛起,成为最受欢迎的前端框架之一。本文将从React的基本概念、核心特性、应用场景、优缺点以及学习建议等多个方面,对React前端框架进行详细阐述。一、React的基本概念React是一个专注于构建用户界面的JavaScr
【网络】负载均衡
109702008
网络编程#linux内核负载均衡运维
OSI模型每一层的负载均衡在OSI模型中,每一层的负载均衡具体如下:1.第二层(数据链路层):数据链路层的负载均衡通常涉及对MAC地址的操作。在这一层,可以使用虚拟MAC地址技术,外部设备对虚拟MAC地址发出请求,负载均衡器接收到请求后将其分配给后端的实际MAC地址进行响应。2.第三层(网络层):在网络层,负载均衡主要处理的是IP地址。这一层的负载均衡器可能采用虚拟IP地址的方式工作,即外部请求到
React前端框架基础知识详解
大梦百万秋
知识学爆前端框架react.js前端
React是由Facebook推出的一个用于构建用户界面的JavaScript库,现已成为前端开发中最流行的框架之一。React的核心理念是通过组件化的方式构建用户界面,提升代码的可维护性和复用性。本文将为大家详细介绍React框架的基础知识,并带你快速入门。1.React是什么?React是一个用于构建UI界面的库,它通过组件的方式将用户界面拆分为可独立维护的小部分。它专注于视图层(View),
React 前端框架介绍
Earth explosion
前端框架
什么是React?React是一个由Facebook开发并维护的开源JavaScript库,用于构建用户界面。它主要用于创建交互式用户界Face(UI),尤其是当数据变化时需要更新部分视图时非常有效。React的核心思想是组件化和声明性编程,这使得开发者可以轻松地创建、组合和重用代码。React的主要特点组件化设计:React鼓励使用组件化设计。每个组件是一个独立的模块,可以单独开发、测试和调试。
[关键词特辑]技术栈、开发架构与项目开发
红栈说BSP
团队开发个人开发
概念分析技术栈技术栈指的是完成一个项目或产品所需的一系列技术和工具的集合。它通常包括前端技术、后端技术、数据库、服务器和网络技术等。例如,一个典型的Web应用技术栈可能包括HTML、CSS、JavaScript(前端),Node.js、Python或Java(后端),MySQL或MongoDB(数据库),以及Nginx或Apache(服务器)。前端技术:如HTML、CSS和JavaScript,用
JavaScript 操作符总结
小刘不知道叫啥
Javascriptjavascript开发语言
这篇主要说三类操作符的使用,分别是判等操作符比较操作符运算符,建议先看一下我的上一篇《JavaScript类型转换全面总结》保证你对js中类型的转换有充分的了解。开篇先说一下在学习操作符和类型转换中get到的一些体会"请不要相信直觉!"了解清楚每个操作符的运算比较流程,而不要凭借"语感"来作出判断!判等==&===首先我们来说一下判等运算符的使用,我们知道js中判断相等可以使用==和===,他们的
在SpringBoot中使用redis存放数据和模糊查询 (快速)
Roys_
javaspringbootredis
引入对应的pom坐标org.springframework.bootspring-boot-starter-data-redisorg.apache.commonscommons-pool2com.fasterxml.jackson.datatypejackson-datatype-jsr3102.10.2compile
接口自动化框架篇:框架中的不同请求方式封装!
测试界的吴彦祖
性能测试自动化测试经验分享压力测试测试工具软件测试自动化测试接口测试测试工程师
接口自动化测试是软件测试中不可或缺的一部分,一个好的自动化测试框架可以提高测试效率和质量。本文将从零开始详细规划一个接口自动化测试框架,并着重介绍不同请求方式的封装。一、框架搭建前准备在开始搭建框架之前,需要进行以下准备工作:1.确定测试目标:明确需要测试的接口,包括接口的功能、参数和预期结果等。2.选择编程语言:根据团队的技术栈和项目需求,选择合适的编程语言进行开发,如Python、Java等。
SpringBoot 整合 Avro 与 Kafka
m0_74823595
面试学习路线阿里巴巴springbootkafkalinq
优质博文:IT-BLOG-CN【需求】:生产者发送数据至kafka序列化使用Avro,消费者通过Avro进行反序列化,并将数据通过MyBatisPlus存入数据库。一、环境介绍【1】ApacheAvro1.8;【2】SpringKafka1.2;【3】SpringBoot1.5;【4】Maven3.5;4.0.0com.codenotfoundspring-kafka-avro0.0.1-SNAP
Spring框架拥抱DeepSeek:Java开发者的新机遇
耶耶Norsea
网络杂烩人工智能
摘要Spring框架正式宣布支持DeepSeek模型,为Java开发者提供了便捷的AI集成方案。通过SpringAI,开发者可以选择模拟OpenAI接口风格或完全本地化部署两种方式来集成DeepSeek。这不仅简化了API配置流程,还赋予开发者更灵活的选择,无论是小型应用还是大型企业级系统,都能根据需求选择最合适的集成方案。这种简化的集成流程使得开发者能够直接调用DeepSeek的强大AI能力,显
如何在 SpringBoot 项目创建并使用 Redis 的详细介绍
青灯文案
RedisCachespringbootredisbootstrap
本文是博主整理项目时整理出来的,项目使用SpringBoot框架,使用Redis作为缓存组件,用于缓存部分热点接口数据。文章目录一、Redis的前置配置1、引入依赖2、单机配置3、集群配置4、两种配置路径解读二、创建Redis配置类1、简易版RedisConfig2、复杂版RedisConfig三、RedisTemplate类四、创建Redis操作类五、opsForValue方法六、在代码中使用R
深入剖析Spring MVC
雾缘枯
springmvcjava
一、SpringMVC概述1.什么是SpringMVC?SpringMVC是基于Spring框架的Web框架,它实现了MVC设计模式,将应用程序分为三个核心部分:Model:封装应用程序的数据和业务逻辑。View:负责渲染数据(通常是HTML页面)。Controller:处理用户请求并协调Model和View。2.SpringMVC的优势松耦合:通过清晰的职责分离,降低代码的耦合度。灵活性:支持多
ubuntu部署小笔记-采坑
淳杰
linux前端javaubuntu笔记linux
ubuntu部署小笔记搭建前端+控制端+后端前端nginx反向代理使用ubuntu部署nextjs项目问题一如何访问端口号配置后台运行该进程pm2问题二包体过大生产环境下所需文件问题三部署在vercel时出现的问题需要魔法访问后端api时,必须使用==https==协议电脑端访问正常,手机端出现异常控制器部署路由正常,但是刷新后提示404的问题相对路径问题后端部署在实际将项目部署到linux服务器
Spring MVC 对象转换器:初级开发者入门指南
干中学26
springmvcjava
SpringMVC对象转换器:初级开发者入门指南为什么需要对象转换器?在Web应用中,我们经常需要处理不同类型的对象。例如:前端数据到后端对象:用户通过表单提交的数据通常是HttpServletRequest对象,我们需要将其转换为Java对象(如POJO)以便进行业务处理。后端对象到前端展示:在将数据返回给前端时,可能需要将Java对象转换为适合前端展示的格式(如JSON或XML)。对象转换是一
org.springframework.boot:spring-boot-maven-plugin:2.2.11.RELEASE:repackage failed: Unable to find ma
未来AI编程
mavenspringspringboot
org.springframework.boot:spring-boot-maven-plugin:2.2.11.RELEASE:repackagefailed:Unabletofindmainclasspom删除org.springframework.bootspring-boot-maven-pluginorg.projectlomboklombok
SQL注入漏洞详解
鹤霄٩
学习笔记数据库mysql网络安全
漏洞描述SQL注入漏洞产生的原因是网站应用程序在编写时未对用户提交至服务器的数据进行合法性校验(类型、长度、业务参数合法性等),同时没有对用户输入数据进行有效地特殊字符过滤,使得用户的输入直接带入数据库执行,超出了SQL语句原来设计的预期结果,导致了SQL注入漏洞。漏洞原理简单点说,就是服务端未对用户的输入进行过滤和验证,导致恶意的sql语句直接与后端sql查询语句进行,造成了非本意的查询结果并且
一文读懂Vue中的el-dialog(附Demo)
码农研究僧
前端/小程序vue.jsjavascript前端
目录前言1.基本知识2.Demo前言原先对于该知识点写过一个Demo,推荐阅读:点击按钮框来选择相应信息(Vue+Java)1.基本知识el-dialog是ElementUI框架中的一个组件,用于创建对话框提供了丰富的功能和选项,可以用来创建各种类型的对话框,如信息确认框、表单填写框等基本用法如下:exportdefault{data(){return{dialogVisible:false//控
编程王炸来袭,DeepSeek+IDEA
会java的怪蜀黍
javaintellij-ideajavaide
*引言*2025年的春节可以说是人工智能在中国史上飘红的一段历史时刻,年后上班的第一天,便马不停蹄的尝试新技能。今天的科技在飞速发展,编程领域的人工智能工具犹如雨后春笋般涌现。其中,DeepSeek则以其卓越的性能和智能化的功能,迅速在众多开发者中赢得了青睐。对于Java开发者而言,将DeepSeek集成到IDEA中,就如同为自己的编程之路配备了一位智能助手,大幅提升开发效率,让编程变得更加轻松愉
java实现预览静态html,Java 读取模板并生成HTML静态文件实例
guyu0908
java实现预览静态html
原理都很简单,主要是对模板的解析.so,我们先准备一个html模板mb.html,做个文件其中的###title###之类的标签用于程序进行查询替换.HTMLcode复制代码###title######title######author######content######html###下面是具体的代码:JspToHtml.javaJavacode复制代码importjavax.servlet.h
linux java性能监控工具_Linux监控和Java性能监控命令
软工苏
linuxjava性能监控工具
常见性能分析命令1.1查看CPU使用pidstatvmstatmpstatsartop统计机器总CPU使用情况#1.查看本机CPU个数和利用率lscpuCPU(s):2//总cpu数量On-lineCPU(s)list:0,1//在线的cpu的编号;Thread(s)percore:2//每个Core核心的线程数Core(s)persocket:1//每个cpu插槽核数Socket(s):1//c
多线程编程之卫生间
周凡杨
java并发卫生间线程厕所
如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。
How to Install GUI to Centos Minimal
sunjing
linuxInstallDesktopGUI
http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta
Shell 函数
daizj
shell函数
Shell 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。
shell中函数的定义格式如下:
[function] funname [()]{
action;
[return int;]
}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回
Linux服务器新手操作之一
周凡杨
Linux 简单 操作
1.whoami
当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。
此时可以使用whoami命令。
[ecuser@HA5-DZ05 ~]$ whoami
e
浅谈Socket通信(一)
朱辉辉33
socket
在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。
首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包
ServerSock
关于框架的简单认识
西蜀石兰
框架
入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。
都说学前端的要知道三大框架,目前node.
You have an error in your SQL syntax; check the manual that corresponds to your
林鹤霄
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids ) values('0ac91f167f754c8cbac00e9e3dc372
MySQL5.6的my.ini配置
aigo
mysql
注意:以下配置的服务器硬件是:8核16G内存
[client]
port=3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:/mysql-5.6.21-win
mysql 全文模糊查找 便捷解决方案
alxw4616
mysql
mysql 全文模糊查找 便捷解决方案
2013/6/14 by 半仙 [email protected]
目的: 项目需求实现模糊查找.
原则: 查询不能超过 1秒.
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求.
解决方案: 使用mysql全文索引.
1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索
自定义数据结构 链表(单项 ,双向,环形)
百合不是茶
单项链表双向链表
链表与动态数组的实现方式差不多, 数组适合快速删除某个元素 链表则可以快速的保存数组并且可以是不连续的
单项链表;数据从第一个指向最后一个
实现代码:
//定义动态链表
clas
threadLocal实例
bijian1013
javathreadjava多线程threadLocal
实例1:
package com.bijian.thread;
public class MyThread extends Thread {
private static ThreadLocal tl = new ThreadLocal() {
protected synchronized Object initialValue() {
return new Inte
activemq安全设置—设置admin的用户名和密码
bijian1013
javaactivemq
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
<p
【Java范型一】Java范型详解之范型集合和自定义范型类
bit1129
java
本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。
范型内容
范型集合类
范型类
【HBase十二】HFile存储的是一个列族的数据
bit1129
hbase
在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证
1. 建立一个有两个列族的表
create 'members','colfam1','colfam2'
2. 在members表中的colfam1中插入50*5
Nginx 官方一个配置实例
ronin47
nginx 配置实例
user www www;
worker_processes 5;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 8192;
events {
worker_connections 4096;}
http {
include conf/mim
java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环
bylijinnan
java
//use recursion
public static void mirrorHelp1(Node node){
if(node==null)return;
swapChild(node);
mirrorHelp1(node.getLeft());
mirrorHelp1(node.getRight());
}
//use no recursion bu
返回null还是empty
bylijinnan
javaapachespring编程
第一个问题,函数是应当返回null还是长度为0的数组(或集合)?
第二个问题,函数输入参数不当时,是异常还是返回null?
先看第一个问题
有两个约定我觉得应当遵守:
1.返回零长度的数组或集合而不是null(详见《Effective Java》)
理由就是,如果返回empty,就可以少了很多not-null判断:
List<Person> list
[科技与项目]工作流厂商的战略机遇期
comsci
工作流
在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。
在微软,甲骨文,谷歌,IBM,SONY
过度设计-举例
cuityang
过度设计
过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式 都是无法预料的
再举一个例子,对闰年的判断逻辑:
1、 if($Year%4==0) return True; else return Fasle;
2、if ( ($Year%4==0 &am
java进阶,《Java性能优化权威指南》试读
darkblue086
java性能优化
记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,
网络学习笔记初识OSI七层模型与TCP协议
dcj3sjt126com
学习笔记
协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定 计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。 两类服务: 面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。 面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象
mac中用命令行运行mysql
dcj3sjt126com
mysqllinuxmac
参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html 感觉workbench不好用(有点先入为主了)。
1,安装mysql
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64
MongDB查询(1)——基本查询[五]
eksliang
mongodbmongodb 查询mongodb find
MongDB查询
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介
MongoDB中使用find来进行查询。
API:如下
function ( query , fields , limit , skip, batchSize, options ){.....}
参数含义:
query:查询参数
fie
base64,加密解密 经融加密,对接
y806839048
经融加密对接
String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK"))));
String data1 = new String(Base64.decode(data0.toCharArray()),"GBK");
// 注意编码格式,注意用于加密,解密的要是同
JavaWeb之JSP概述
ihuning
javaweb
什么是JSP?为什么使用JSP?
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。
JSP起源
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。
如果使用Servl
apple watch 指南
啸笑天
apple
1. 文档
WatchKit Programming Guide(中译在线版 By @CocoaChina) 译文 译者 原文 概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch 概览 - 配置 Xcode 项目 - Overview - Configuring Yo
java经典的基础题目
macroli
java编程
1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja
你所不知道神奇的js replace正则表达式
qiaolevip
每天进步一点点学习永无止境纵观千象regex
var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));
console.log(v.r
[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)
superlxw1234
hivehive分析表hive统计信息hive Statistics
关键字:Hive统计信息、分析Hive表、Hive Statistics
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等;
14.1 新表的统计信息
对于一个新创建
Spring Boot 1.2.5 发布
wiselyman
spring boot
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。
官方建议所有的Spring Boot用户升级这个版本。
项目首页 | 源
按字母分类:
ABCDEFGHIJKLMNOPQRSTUVWXYZ其他
首页 -
关于我们 -
站内搜索 -
Sitemap -
侵权投诉
版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.