namespace

MyBatis面试题(二)

*爱你&永不变心* 提交于 2020-03-11 02:32:04
说说什么是MyBatis的接口绑定? 答:在MyBatis项目中定义任意的接口,并将接口里面的方法和sql语句进行绑定,这样可以直接通过接口方法来调用相应的sql语句,这就是接口绑定。 MyBatis的接口绑定有哪些实现方式? 答:一种是通过注解来绑定,在接口的方法上加上@Select、@Update这些注解,注解里面的参数就是要运行的sql语句。另外一种就是直接在xml文件里写sql,通过xml文件里namespace这个标签的值来确定对应的到底是哪个接口,所以namespace要是接口的全限定名。 什么情况下用注解绑定,什么情况下用xml绑定? 答:当SQL语句比较简单时候,用注解绑定,当SQL语句比较复杂时候,用xml绑定。但是个人建议还是用xml绑定的好,因为在业务的发展中,SQL只会越来越复杂,就没见过几个SQL由繁入简的例子,所以不如一开始就写在xml文件里,省事。 使用MyBatis的mapper接口调用时有哪些要求? 答:首先xml文件里的namespace要和mapper接口的全路径一样,这样才能一一对应,其次mapper接口的方法名要和xml文件中定义的每个sql的id一样,这样方法才能对应,最后就是mapper接口中方法的返回值和参数要和其在xml文件中对应sql的parameterType以及resultType的类型相同。 Mybatis是否支持延迟加载?

(四)Mybatis 面试题

房东的猫 提交于 2020-03-10 13:52:51
Mybatis 86、Mybatis是什么? mybatis是一个持久层ORM框架。它内部封装了jdbc,使得开发更简洁,更高效。 Mybatis使开发者只需要关注sql语句本身,简化JDBC操作,不需要在关注加载驱动、创建连接、处理SQL语句等繁杂的过程。 MyBatis可以通过xml或注解完成ORM映射关系配置。 87、Mybatis和JDBC的关系? (标红) JDBC是Java提供的一个操作数据库的API; MyBatis是一个持久层ORM框架,底层是对JDBC的封装。 MyBatis对JDBC操作数据库做了一系列的优化: (1)mybatis使用已有的连接池管理,避免浪费资源,提高程序可靠性。 (2)mybatis提供插件自动生成DAO层代码,提高编码效率和准确性。 (3)mybatis 提供了一级和二级缓存,提高了程序性能。 (4)mybatis使用动态SQL语句,提高了SQL维护。(此优势是基于XML配置) (5)mybatis对数据库操作结果进行自动映射 88、什么是ORM?(标红) ORM的全称是Object Relational Mapping,即对象关系映射。 描述的是对象和表之间的映射。操作Java对象,通过映射关系,就可以自动操作数据库。 在ORM关系中,数据库表对应Java中的类,一条记录对应一个对象,一个属性对应一个列。 常见的ORM框架

从源代码重写项目Laplace-Beltrami Operator的笔记——2

时光毁灭记忆、已成空白 提交于 2020-03-10 08:51:09
今天开始写 计算LB算子的class 的声明,其中阅读源代码时遇到一个问题: namespace pclbo { /*从输入的mesh数据中计算Laplace-Beltrami算子 */ # include <vector> # include <numeric> # include <Eigen/Sparse> # include <pcl/common/common_headers.h> # include <pcl/PolygonMesh.h> # include <pcl/conversions.h> class MeshLBOEstimation { public : /*空的构造函数*/ MeshLBOEstimation ( ) : input_mesh_ ( ) , area ( new std :: vector < double > ( ) ) { } /*空的析构函数*/ virtual ~ MeshLBOEstimation ( ) { } inline void setInputMesh ( const pcl :: PolygonMeshConstPtr & input ) { input_mesh_ = input ; } /*计算LB算子*/ void compute ( ) ; /** \brief Surface area */ double

实验7 流类库和输入输出

China☆狼群 提交于 2020-03-10 04:54:43
基础练习 (1)课本习题11-7 #include <iostream> using namespace std; int main() { ios_base::fmtflags original_flags = cout.flags(); //保存格式化参数设置 cout<< 812<<'|'; cout.setf(ios_base::left,ios_base::adjustfield); //设置对齐方式为左对齐 cout.width(10); //将输出宽度设置为10 cout<< 813 << 815 << '\n'; cout.unsetf(ios_base::adjustfield); //取消对齐方式的设置 cout.precision(2);// 设置浮点数输出精度值为2 cout.setf(ios_base::uppercase|ios_base::scientific); //设置为浮点数的显示参数 cout << 831.0 ; cout.flags(original_flags); //恢复保存的格式化参数设置 return 0; } 运行截图: (2)课本习题11-3 #include <iostream> #include <fstream> using namespace std; int main() { ofstream file; file

docker概述

我的未来我决定 提交于 2020-03-09 20:02:59
虚拟化: varmvare,virtualbox docker:container技术(以内核为支撑进行虚拟机)。不用安装操作系统直接通过宿主机的os虚拟化出应用 Docker 是一个 开源 的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现 虚拟化 。容器是完全使用 沙箱 机制,相互之间不会有任何接口; 一个完整的Docker有以下几个部分组成: dockerClient客户端 Docker Daemon守护进程 Docker Image镜像 DockerContainer容器 起源 Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于 go语言 并遵从Apache2.0协议开源。 Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是 Redhat 在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。 一款开源软件能否在商业上成功,很大程度上依赖三件事 - 成功的 user case(用例), 活跃的社区和一个好故事。 dotCloud 自家的 PaaS 产品建立在 docker 之上,长期维护且有大量的用户

安装Prometheus-Opeartor

匆匆过客 提交于 2020-03-09 07:25:02
一、下载 git clone clone https://github.com/coreos/prometheus-operator.git 或: wget https://github.com/coreos/prometheus-operator/archive/v0.23.0.tar.gz并解压 (我用的是这种) 二、部署 1、官方推荐新建一个namespace,所有需要新建一个namespace [^_^] linux02 ~# kubectl create namespace monitoring [^_^] linux02 ~# kubectl get namespaces NAME STATUS AGE default Active 22d kube-public Active 22d kube-system Active 22d monitoring Terminating 1h 2、修改配置文件: 进入文件 cd prometheus-operator-0.23.0 [^_^] linux02 prometheus-operator-0.23.0# vim bundle.yaml #总共有三处namespace需要修改 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata

115资源高清定制97601048薇█

。_饼干妹妹 提交于 2020-03-08 12:23:26
97601048薇█数据结构-线段树 参考资料 暂无 线段树是所有 RMQ 中最常用的数据结构。 功能:区间修改区间查询。不止最值、求和。只要可递推的值都可以构造线段树。 如果区间大小为 n,线段树有 cnt 个节点,那么 2n−1≤cnt<4n。 节点 对于每个节点 x,和堆类似,父亲节点为 x>>1(即 x/2 下取整的位运算方法,位运算方便而且快),左儿子为 x<<1(即 2x),右儿子为 x<<1|1(即 2x+1)。 同时每个节点对应一段区间,所以叫线段树。节点 1 对应的区间为 1∼n。设一个节点对应的区间为 l∼r,那么它的左儿子对应的区间就是 l∼mid,其中 mid=(l+r)>>1,右儿子区间为 mid+1∼r。如果一个节点对应单点区间,就没有儿子。 同时每个节点对应一个值,即该区间的 RMQ 值。如果是求最值问题,就表示该区间最大值;如果是求和问题,就表示该区间的和。 操作(单点修改区间查询) 一个线段树是求和还是求最值或者求别的东西,取决于 pushup(k) 函数,其中 k 为节点编号,时间复杂度 O(1)。 void pushup(int k){v[k]=max(v[k<<1],v[k<<1|1]);}//求最大值 根据原序列构造初始的线段树用 build() 函数,单点节点上的值就为单点的值,递归从下到上构造,时间复杂度 O(nlogn)。 void

高清115资源伽97601048薇█

偶尔善良 提交于 2020-03-08 12:21:32
97601048薇█数据结构-线段树 参考资料 暂无 线段树是所有 RMQ 中最常用的数据结构。 功能:区间修改区间查询。不止最值、求和。只要可递推的值都可以构造线段树。 如果区间大小为 n,线段树有 cnt 个节点,那么 2n−1≤cnt<4n。 节点 对于每个节点 x,和堆类似,父亲节点为 x>>1(即 x/2 下取整的位运算方法,位运算方便而且快),左儿子为 x<<1(即 2x),右儿子为 x<<1|1(即 2x+1)。 同时每个节点对应一段区间,所以叫线段树。节点 1 对应的区间为 1∼n。设一个节点对应的区间为 l∼r,那么它的左儿子对应的区间就是 l∼mid,其中 mid=(l+r)>>1,右儿子区间为 mid+1∼r。如果一个节点对应单点区间,就没有儿子。 同时每个节点对应一个值,即该区间的 RMQ 值。如果是求最值问题,就表示该区间最大值;如果是求和问题,就表示该区间的和。 操作(单点修改区间查询) 一个线段树是求和还是求最值或者求别的东西,取决于 pushup(k) 函数,其中 k 为节点编号,时间复杂度 O(1)。 void pushup(int k){v[k]=max(v[k<<1],v[k<<1|1]);}//求最大值 根据原序列构造初始的线段树用 build() 函数,单点节点上的值就为单点的值,递归从下到上构造,时间复杂度 O(nlogn)。 void

卖115资源的微信号

假装没事ソ 提交于 2020-03-08 12:11:49
数据结构-线段树 参考资料 暂无 线段树是所有 RMQ 中最常用的数据结构。 功能:区间修改区间查询。不止最值、求和。只要可递推的值都可以构造线段树。 如果区间大小为 n,线段树有 cnt 个节点,那么 2n−1≤cnt<4n。 节点 对于每个节点 x,和堆类似,父亲节点为 x>>1(即 x/2 下取整的位运算方法,位运算方便而且快),左儿子为 x<<1(即 2x),右儿子为 x<<1|1(即 2x+1)。 同时每个节点对应一段区间,所以叫线段树。节点 1 对应的区间为 1∼n。设一个节点对应的区间为 l∼r,那么它的左儿子对应的区间就是 l∼mid,其中 mid=(l+r)>>1,右儿子区间为 mid+1∼r。如果一个节点对应单点区间,就没有儿子。 同时每个节点对应一个值,即该区间的 RMQ 值。如果是求最值问题,就表示该区间最大值;如果是求和问题,就表示该区间的和。 操作(单点修改区间查询) 一个线段树是求和还是求最值或者求别的东西,取决于 pushup(k) 函数,其中 k 为节点编号,时间复杂度 O(1)。 void pushup(int k){v[k]=max(v[k<<1],v[k<<1|1]);}//求最大值 根据原序列构造初始的线段树用 build() 函数,单点节点上的值就为单点的值,递归从下到上构造,时间复杂度 O(nlogn)。 void build(int

115网盘资源更新

六月ゝ 毕业季﹏ 提交于 2020-03-08 12:02:37
数据结构-线段树 参考资料 暂无 线段树是所有 RMQ 中最常用的数据结构。 功能:区间修改区间查询。不止最值、求和。只要可递推的值都可以构造线段树。 如果区间大小为 n,线段树有 cnt 个节点,那么 2n−1≤cnt<4n。 节点 对于每个节点 x,和堆类似,父亲节点为 x>>1(即 x/2 下取整的位运算方法,位运算方便而且快),左儿子为 x<<1(即 2x),右儿子为 x<<1|1(即 2x+1)。 同时每个节点对应一段区间,所以叫线段树。节点 1 对应的区间为 1∼n。设一个节点对应的区间为 l∼r,那么它的左儿子对应的区间就是 l∼mid,其中 mid=(l+r)>>1,右儿子区间为 mid+1∼r。如果一个节点对应单点区间,就没有儿子。 同时每个节点对应一个值,即该区间的 RMQ 值。如果是求最值问题,就表示该区间最大值;如果是求和问题,就表示该区间的和。 操作(单点修改区间查询) 一个线段树是求和还是求最值或者求别的东西,取决于 pushup(k) 函数,其中 k 为节点编号,时间复杂度 O(1)。 void pushup(int k){v[k]=max(v[k<<1],v[k<<1|1]);}//求最大值 根据原序列构造初始的线段树用 build() 函数,单点节点上的值就为单点的值,递归从下到上构造,时间复杂度 O(nlogn)。 void build(int