学习笔记

runtime学习笔记:(一)发送消息

谁说我不能喝 提交于 2019-12-07 10:01:29
一 , runtime的使用步骤如下: 其中步骤二,操作如下 二 ,使用runtime给类发送消息: 假设我们给类定义了一个car类,实现方法如下: 我们在viewcontroller中,使用runtime去调用这个类方法 我们可以在控制台看到下面的输出日志: 三 使用runtime给实例发送消息; 控制台输出日志如下: 可以发现,这两car的方法都被调用了。 好了,今天的runtime简单使用就写到这里了,有什么不对的地方,欢迎大家批评指正!也期待和大家一起交流,讨论学习! 来源: oschina 链接: https://my.oschina.net/u/2332019/blog/681926

Hibernate的学习笔记(4)

前提是你 提交于 2019-12-06 20:20:54
通过前段时间的学习,hibernate的映射关系尤为重要,需要理解的也有挺多的。 1 、一对一映射 1 )主键关联。一对一默认使用的是立即加载,如果需要时用延迟加载,那么需要在 one-to-one 元素中将 constrained 属性设为 true ,并且将待加载的一方的 class 元素中的 lazy 属性设为 true (或者不去设置,因为该属性默认值就是 true )。一对一加载默认使用左外连接,可以通过修改 fetch 属性为 select 修改成每次发送一条 select 语句的形式。 2 )外键关联。本质上一对多的蜕变形式。在 many-to-one 元素中增加 unique=”true” 属性就变成了一对一。 3 、 map 与 set 标签中的 element 子标签映射的是原子类型( string , date,int,long…. ),即能够直接映射到数据库表字段上的类型,而 one-to-many 映射的则是实体类型,指的是无法映射到表的字段,而是要映射到整张表的类型。 4 、 Bag (结合了 List 与 Set ),可以重复且没有顺序的一种集合,是 Hibernate 提供的。 5 、查询排序(内存排序及数据库排序) 6 、数据库排序使用 order-by 属性。 7 、内存排序使用 sort 属性,它有两个属性值( unsorted ,

Struts2的学习笔记(3)

被刻印的时光 ゝ 提交于 2019-12-04 00:28:53
很久没发表了,不代表我没在学习struts2啊,对吧?好,下面还是把我的一些笔记供出来给大家参考指正吧? 1 、 Struts2 应用的分层体系架构: 2 、 Struts2 的模型驱动( Model Driven ),之前所学的称作属性驱动( PropertyDriven )。它们在使用方式上差不多的。 3 、属性驱动与模型驱动的比较 1 )属性驱动灵活,准确;模型驱动不灵活,因为很多时候,页面所提交过来的参数并不属于模型中的属性,也就是说页面所提交过来的参数与模型中的属性并不一致,这是很常见的情况。 2 )模型驱动更加符合面向对象的编程风格,使得我们获得的是对象而不是一个个离散的值。 小结:推荐使用属性驱动编写 Action 。 4 、服务器端代码的单元测试有两种模式: 1) 容器内测试( Jetty ) 2 ) Mock 测试(模拟测试:继承 httpServletRequest 、 httpSession 、 HttpServletResponse 等 Servlet API )有 Jmock ,easyMock 测试框架,是对于 Web 测试的,即服务器端 JAVA 代码。 5 、 Preparable 接口的作用是让 Action 完成一些初始化工作,这些初始化工作是放在 Preparable 接口的 prepare 方法中完成的,该方法会在 execute

Hibernate的学习笔记(2)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 03:12:18
慢慢的深入了解hibernate,它的各种机制处理以及各种方法都是要好好学习滴。 1 、对于分页操作来说,需要知道如下一些信息:当前正在操作的是第几页,每一页显示多少条记录数。 2 、对于 Query 接口的 list() 方法与 iterator() 方法来说,都可以实现查询的对象,但是 list() 方法返回的每个对象都是完整的(对象中的每个属性都被表中的字段填充上了),而 iterator() 方法所返回的对象中仅包含了主键值(标识符),只有当你对 iterator() 中的对象进行操作时, Hibernate 才会向数据库再次发送 SQL 语句来获取该对象的属性值。 3 、 Hibernate 中的延迟加载( lazy loading ),当我们在程序中获取到了一的一方,但是不需要多的一方,那么使用延迟加载就是非常适合的。 4 、 Session 级别的缓存又叫做一级缓存; SessionFacory 级别的缓存叫做二级缓存。 5 、对象的状态转换图 6 、 Customer 对象的状态转换过程 来源: oschina 链接: https://my.oschina.net/u/247647/blog/58144

yii2学习笔记--修改css和js文件(未完成)

故事扮演 提交于 2019-12-01 00:32:41
(未完成,陆续添加内容) 一、通过模板文件添加的js和css如何修改: 1.1 修改AppAsset.php之中的css、js 假设模板文件为 views/layouts/main.php,观测可知其中有一句: AppAsset::register($this); 这里就是引入css和js文件的语句,yii2框架是通过AppAsset这个类之中的设置来注入js和css文件的,而这个类的位置在\assets\AppAsset.php,所以我们要修改和添加js、css文件都可以在这里进行修改: public $css = [ 'css/normalize.css', 'css/main.css', ]; public $js = [ 'https://cdn.bootcss.com/jquery/1.11.3/jquery.js', ]; 比如我要做一个最简单的页面,就可以如上这么写,这样yii2框架只会引入最少的css和js文件。 1.2 修改AppAsset之中的depends 此外yii2还有一个很强大的功能,可以以整库的方式导入js和css文件,比如AppAsset之中就默认导入了bootstrap: public $depends = [ 'yii\bootstrap\BootstrapAsset', ]; 这个BootstrapAsset定义在\vendor\yiisoft

php zend Framework2.0 学习笔记(一)

爷,独闯天下 提交于 2019-11-30 18:40:17
zend Framework2.0 安装 开发环境:WampServer2.2a-x32 (apache2.2.21+php5.3.8+mysql5.5.16) 1 到 ( https://github.com/zendframework/ZendSkeletonApplication )下载升级文件包。 解压到你的工作目录,比如我的是:F:\wamp\www\daohang 这里就有composer.phar 2 在命令行中下载和安装composer.phar php composer.phar self-update php composer.phar install F:\wamp\bin\php\php5.3.8 \php.exe F:\wamp\www\daohang\composer.phar self-update F:\wamp\bin\php\php5.3.8 \php.exe F:\wamp\www\daohang\composer.phar install 3 apache配置 <VirtualHost *:80> DocumentRoot "F:\wamp\www\daohang\public" ServerName www.daohang.com </VirtualHost> win7下 C:\Windows\System32\drivers\etc

YMP框架学习笔记(二)------基于YMP框架搭建WEB应用程序

邮差的信 提交于 2019-11-30 10:29:32
大神的YMP框架: https://github.com/suninformation/ymateplatform.git 1. 新建 Maven project ‍ 打开新建项目对话框,选择 Maven Project ( File->New->Object->Maven->Maven Project ) 直接 next 即可 选择名为webapp的Archetype,点击Next Archetype :项目骨架,项目的目录和文件结构 输入 Group Id , Artifact Id 信息, Version 默认为 0.0.1-SNAPSHOT , Package 会根据 Group Id 和 Artifact Id 自动生成 (设为空即可) Group Id :项目所属的项目组 Artifact Id :项目在项目组中的 ID Version :项目的版本号,后缀 SNASHOT 为快照的意思,表示版本不稳定 点击 Finish 完成 2. 配置文件 (1) pom.xml 添加YMP 框架jar包 修改pom.xml 添加YMP框架jar包,保存,jar包即可自动导入到工程。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

总结sqlserver2012删除语法:delete数据表中的某一项内容

微笑、不失礼 提交于 2019-11-30 02:43:19
今天我们来总结关于sql server2012这个版本的数据库的删除语法,也就是delete的用法,我们来删除数据表中的一项数据,用于测试,这也是我学习数据库的第五堂课,知识就是力量嘛! 好了,来看看语法是怎么说的吧! 数据库删除语法:delete from 某个表 where 指定的条件。 以上就是相关的语法了,只要对应的把相关的参数一个个填写进去即可,但是涉及到条件查询的时候,往往还是有很多复杂的情况出现,这里要注意! 例如,我们要删除这条数据:(傅雷家书读后感http://www.simayi.net/duhougan/2654.html)那么,应该怎样写相关的语句呢?我们来尝试一下。 1、首先是使用delete删除语句 2、from是从哪个表 3、表名称应该是dbo.bog.article 4、where 条件查询:where id = 2654 好,相关的参数都搞定了,下面我们把这些参数组合起来看看是什么样子的吧: delete from dbo.bog.article where id = 2654 这就是完整的语句了,经过测试是没有问题的,当然了,在测试之前,应该先备份数据,然后测试完了再恢复数据库,关于如何备份数据库的方法,之前已经讲过了,这个比较简单。 这里还有一个注意事项:DELETE不需要列名和通配符,它是删除整行而不是删除列,要删除指定的列

学习笔记 Hibernate HQL进阶

可紊 提交于 2019-11-30 00:42:30
Hibernate HQL进阶 HQL查询优化 在使用HQL 时 避免使用 OR not like having distinct 等关键词 数据加载方式 立即加载 特点: Lazy ='true' 优点: 对应用程序透明,不管对象处于什么状态 例如 持久态 ,游离态 方便一个对象指引关联对象的使用。 缺点: session 语句使用频繁不需要访问对象造成内存空间浪费。 延迟加载 特点: Lazy = 'false' 优点:与上面相反。。。。。。。。。。。。 延迟加载有三种 1: 集合类型的延迟加载。 <set lazy='true'> </set> 2: 实体对象加载 <class lazy='true'></class> 3: 属性加载 List() 方法 Iterate() 方法 load()方法 在使用了二级缓存的情况下,使用load()方法会在二级缓存中查找指定的对象是否存在。 在执行load()方法时,Hibernate首先从当前Session的一级缓存中获取ID对应的值,在获取不到的情况下,将根据该对象是否配置了二级缓存来做相应的处理。 如配置了二级缓存,则从二级缓存中获取ID对应的值,如仍然获取不到则还需要根据是否配置了延迟加载来决定如何执行,如未配置延迟加载则从数据库中直接获 取。在从数据库获取到数据的情况下,Hibernate会相应地填充一级缓存和二级缓存

YMP框架学习笔记(一)------Maven部署与YMP框架签出

六月ゝ 毕业季﹏ 提交于 2019-11-29 08:24:55
大神的YMP框架: https://github.com/suninformation/ymateplatform.git 一、 Maven 搭建 1、 Maven 下载 http://maven.apache.org/download.cgi 解压缩 我的路径为 D:\workSoft\apache-maven-3.2.1 2、 环境变量配置 MAVEN_HOME : D:\workSoft\apache-maven-3.2.1 指定到 maven 根目录 PATH : %maven_home%\bin ( 可选 ) MAVEN_OPTS : -Xms256m -Xmx512m 配置好之后可用命令行进行检查 如图所示,即表示环境变量配置成功。 3、 搭建本地仓库 创建本地仓库文件夹(例如我的 D:\workSoft\apache-maven-3.2.1\maven-dependcies ) maven-dependcies 为本地仓库 修改 apache-maven-3.2.1\conf\ settings.xml 在 settings 中指向本地仓库文件夹 D:/workSoft/apache-maven-3.2.1/maven-dependcies 保存退出 4、 Eclipse 中的 Maven 插件 m2e - http://m2eclipse.sonatype.org