文件属性

2020年,MyBatis常见面试题总结

空扰寡人 提交于 2020-02-26 04:49:49
Mybatis 技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用 Mybatis 的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 Mybatis 的技术架构和重要组成部分,以及基本运行原理。 博客写的很辛苦,但是写出来却不一定好看,所谓开始很兴奋,过程很痛苦,结束很遗憾。要求不高,只要读者能从系列博客中,学习到一点其他博客所没有的技术点,作为作者,我就很欣慰了,我也读别人写的博客,通常对自己当前研究的技术,是很有帮助的。 尽管还有很多可写的内容,但是,我认为再写下去已经没有意义,任何其他小的功能点,都是在已经介绍的基本框架和基本原理下运行的,只有结束,才能有新的开始。写博客也积攒了一些经验,源码多了感觉就是复制黏贴,源码少了又觉得是空谈原理,将来再写博客,我希望是“精炼博文”,好读好懂美观读起来又不累,希望自己能再写一部开源分布式框架原理系列博客。 有胆就来,我出几道 Mybatis 面试题,看你能回答上来几道(都是我出的,可不是网上找的)。 1、#{}和${}的区别是什么? 注:这道题是面试官面试我同事的。 答: ${}是 Properties 文件中的变量占位符,它可以用于标签属性值和 sql 内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc.Driver。 #

Mybatis的输入映射和输出映射

孤者浪人 提交于 2020-02-26 04:23:45
一、输入映射   通过parameterType指定输入参数类型,类型可以是简单类型、HashMap、pojo的包装类型。   1、简单类型   映射文件: <!-- 查询sql语句配置使用select标签 id:该语句的唯一标识,通常称为statement的id parameterType:输入参数的类型 resultType:返回数据的类型,指定为Java的po类型,则将查询出来的单条记录映射为po对象。 --> <select id="findUserById" parameterType="int" resultType="com.jack.po.User" > <!-- 要执行的sql语句 #{} :表示一个占位符 #{value} :value表示接受的参数,名称为value,如果参数是简单类型,则名称可以随意起。 --> SELECT * FROM user WHERE id=#{value} </select>   接口文件: //根据id查询用户的接口 public User findUserById(int id) throws Exception;   测试文件: public void findUserById(){ //创建SqlSession对象 SqlSession sqlSession = sessionFactory.openSession();

如何快速上手SQL映射文件的编写

南楼画角 提交于 2020-02-26 01:47:23
在讲之前先说说它的好处:Mybatis真正强大之处就是在于SQL映射语句,也是他的魅力所在。相对于它强大的功能,SQL映射文件的配置却非常简单。简单的对比一下SQL映射配置和JDBC代码,发现使用SQL映射文件配置可减少50%以上的代码量。并且MyBatis专注于SQL,对于开发人员来说,也可极大限度地进行SQL调优,以保证性能。 关于SQL映射文件的几个顶级元素配置: 顶级元素配置 mapper:映射文件的根元素节点,只有一个属性namespace(命名空间),作用如下: 用于区分不同的mapper,全局唯一 绑定DAO接口,即面向接口编程。当namespace绑定某一接口之后,可以不用写该接口的实现类, MyBatis会通过接口的完全限定名查找到对应的mapper配置来执行SQL语句,因此namespace的命名必须要跟接口同名 cache:配置给定命名空间的缓存 cache-ref:从其他命名空间引用缓存配置 resultMap:用来描述数据库结果集和对象的对应关系 sql:可以重用的SQL块,也可以被其他语句引用 insert:映射插入语句 update:映射更新语句 delete:映射删除语句 select:映射查询语句 使用select完成单条件查询编写Mapper映射文件 <!--根据用户名查询用户列表(模糊查询)--> <select id=

spring项目配置优先级

痞子三分冷 提交于 2020-02-25 19:32:59
场景 经常会遇到如下的问题: application.yml里面配置了,为什么不起作用 application.yml 里面没有找到名为${savefile}的环境变量 分析 参数优先级(从高到低) Spring Boot 所提供的配置优先级顺序比较复杂。按照优先级从高到低的顺序,具体的列表如下所示。 命令行参数。 通过 System.getProperties() 获取的 Java 系统参数。 操作系统环境变量。 从 java:comp/env 得到的 JNDI 属性。 通过 RandomValuePropertySource 生成的“random.*”属性。 应用 Jar 文件之外的属性文件。(通过spring.config.location参数) 在应用配置 Java 类(包含“@Configuration”注解的 Java 类)中通过 “@PropertySource”注解声明的属性文件。 通过“SpringApplication.setDefaultProperties”声明的默认属性。 配置文件优先级(从高到低) 当前目录的“/config”子目录。 当前目录。 classpath 中的“/config”包。 classpath 解决方案 application.yml里面配置了,为什么不起作用 看jar包外,config目录下时候有application.yml

webpack第一次

一曲冷凌霜 提交于 2020-02-25 19:26:39
目录 webpack 1.动手实践 1.1动手实践过程 1.2第一次打包 1.2.1 单独的js文件打包 1.2.2 js引用其他文件打包 1.2.3 css文件类型打包 1.2.4 运行html文件 1.2.5 利用webpack命令参数可以提交效率的方式 1.3 webpack基本配置 1.3.1 webpack配置文件 1.3.2 webpack配置文件添加运行命令的参数 1.3.3 webpack配置文件中的entry和output new 1.4 自动化生成项目中的html页面 1.4.1 入门:自动化生成项目中的html页面 1.4.2不同类型的文件生成不同的目录文件 1.4.3 打印htmlWebpackPlugin插件的配置参数 1.4.4 项目上线 webpack 1.动手实践 1.1动手实践过程 1.首先使用node安装npm,去文件目录下面, mkdir zdj cd zdj mkdir webpack-test cd webpack-test nmp init --- 下面会出现package.json文件 npm install webpack --save-dev ---安装webpack 为什么要使用npm init初始化项目 在node开发中使用npm init会生成一个pakeage.json文件,这个文件主要是用来记录这个项目的详细信息的

看完这篇再不会 View 的动画框架,我跪搓衣板

a 夏天 提交于 2020-02-24 11:59:08
引言 众所周知,一款没有动画的 app,就像没有灵魂的肉体,给用户的体验性很差。现在的 android 在动画效果方面早已空前的发展,1.View 动画框架 2.属性动画框架 3.Drawable 动画。相比后后两者,View 动画框架在 Android 的最开始就已经出现,即有着非常容易学习的有点,却也有着用法太死的毛病,但对于初学者而言,足够实现各种酷炫的效果了。 ​ 组成 对于 View 的动画框架而言,最常见的有: AlphaAnimation(透明度动画)、 RotateAnimation(旋转动画)、 ScaleAnimation(缩放动画)、 TranslateAnimation(平移动画)四种类型。 除此之外还提供了动画集合类(AnimationSet),用于将各种基本动画组合起来进行显示。 使用 对于现在市面上的书籍 📚,基本都是在活动代码中,一步一步设置透明度,运行时间。来对控件添加动画框架。所以我这里还是只讲 Java 代码添加那就太无聊了。所以这里我向大家介绍的使用方法,除了基本的以代码形式添加之外,更有 xml 文件的格式书写,并在活动中直接引用🚰的骚操作。 如果大家对其他动画方式,比如 Drawable 动画啊,属性动画啊感兴趣,欢迎查看我以后的博文。 既然是要在 xml 中配置,那我献给大家介绍下, xml 中各种属性的意义:在 /res 下建立 名为

django 之admin使用

 ̄綄美尐妖づ 提交于 2020-02-23 08:50:01
Admin注册 内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。 1)准备工作:创建管理员的用户名和密码。 python manage.py createsuperuser 按提示填写用户名、邮箱、密码。 2)使用:在应用的admin.py中注册模型类 例:打开booktest/admin.py文件,注册地区模型。 from django.contrib import admin from models import * admin.site.register(AreaInfo) 3)输入如下网址: http://127.0.0.1:8000/admin/ 进行登录 登录成功后,可以进行增加、修改、删除、查询的管理。 控制管理页展示 类ModelAdmin可以控制模型在Admin界面中的展示方式,主要包括在列表页的展示方式、1,添加修改页的展示方式。 1)在booktest/admin.py中,注册模型类前定义管理类AreaAdmin。 class AreaAdmin(admin.ModelAdmin): pass 管理类有两种使用方式:, 注册参数 装饰器 注册参数:打开booktest/admin.py文件,注册模型类代码如下: admin.site

ReactJS+ReactNative笔记

依然范特西╮ 提交于 2020-02-23 04:46:13
1.移动App第1天 什么是混合移动App开发【重点】 苹果上的软件是如何开发出来的:使用的是 OC、或者使用Swift这门语言 安卓平台上的软件又是如何开发出来的:使用安卓相关的语言开发的,Java,安卓的控件进行开发 苹果和安卓平台上共有的软件是如何开发出来的:腾讯招两套开发人员【开发组】,手机京东 前端移动 App(Application)开发技术,去开发手机端的应用程序; 前端的混合移动App开发技术,并没有使用 苹果 或 安卓 官方推荐的 开发平台和开发方式,而是抛弃了 官方提供的方式,使用 前端的独有的技术进行移动App开发体验; 什么是移动App开发:通俗的理解,就是把开发Web网站的技术(HTML+CSS+JS),通过某种方式,移植到移动App开发上进行使用,这种利用Web开发技术进行移动端开发体验的方式,叫做混合移动App开发! 关于移动App开发,需要知道的几个概念: 原生开发:它的英文单词是(NativeApp),指的就是使用 IOS、Android 官方提供的工具、开发平台、配套语言进行 手机App开发的方式; 混合开发:(HybirdApp)就是使用前端已有的技术,HTML + CSS + JS ,然后再搭配一些相关的打包编译技术,就能够开发出一个手机App,安装到手机中进行使用; 什么是App:App是(Application的缩写),意思是

前端面试题(亲身面试经验)

南楼画角 提交于 2020-02-22 14:43:55
  最近面试了一些公司,趁着疫情期间,总结一波。大家可以看看 会有用的。 webpack 1、webpack中entry和output的作用 webpack中的entry标记入口文件,它可以是一个字符串(单入口)或者一个数组(多入口),output用来标记输出,主要有两个属性 path和 filename。其次就是publicPath 和chunkFileName 2、webpack中loader和plugin的作用 loader 用于加载某些资源文件。 因为webpack 本身只能打包commonjs规范的js文件,对于其他资源例如 css,图片,或者其他的语法集,比如 jsx, coffee,是没有办法加载的。 这就需要对应的loader将资源转化,加载进来。loader是用于加载的,它作用于一个个文件上。 plugin 用于扩展webpack的功能。它直接作用于 webpack,扩展了它的功能。当然loader也是变相的扩展了 webpack ,但是它只专注于转化文件。而plugin的功能更加的丰富,而不仅局限于资源的加载。 3、webpack中可以有哪些优化 1、优化Loader的文件搜索范围,指定include、exclude 2、把Babel编译过的文件缓存起来 loader: 'babel-loader?cacheDirectory=ture' 3、懒加载、按需加载

linux 文件属性及操作

女生的网名这么多〃 提交于 2020-02-22 12:20:54
-rw-r--r-- 文件属性一共10个字符,第一个表示文件类型( -为二进制文件,d是文件夹,l是软连接文件 ) 剩余9个 rw- r-- r-- ,每三个为一组,第一组表示 u (user)所有者 的权限,第二组表示 g (group)所属组 的权限,第三组表示 o (other)其他人 的权限 (a指全部用户) r 读 4 w写 2 x执行 1 不具有权限 0 文件操作常用命令 ls命令 :显示目录下文件,-s显示目录大小 -t 按照更改时间排序 ll 命令 :从左到右依次显示 :文件类型、文件权限、硬连接数、所有者、所属组、文件大小、修改时间、文件名 cd命令 :进入目录 cd ~ 进入主目录 cd ../进入上级目录 pwd命令 :显示当前目录 mkdir命令 :创建目录 多个目录用空格隔开 rmdir命令 :删除目录 -p 若上级为空目录,一并删除 cp命令 : 复制 cp - dpR mv命令 :重命名或者移动文件 -b 创建备份 -i 交互式操作 注意:mv与 cp 的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了 rm命令 :删除 -f 强制删除 -i 交互式 -r 递归处理(主目录为空,一并删除 touch命令:更新时间属性 创建文件 -a 更改存取时间 -m更改更新时间 -t 使用指定时间 cat命令:显示文件内容,