SSM自学笔记(七)】的更多相关文章

14.MyBatis的多表操作 1.MyBatis的多表操作 1.1 一对一查询 一对一查询的模型 用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户 一对一查询的语句 对应的sql语句:select * from orders o,user u where o.uid=u.id; 查询的结果如下: 创建Order和User实体 public class Order { private int id; privat…
前情提要: 这里盘点一下,组件细节的问题 现在我们观察一些用框架开发的网页BiliBili.掘金,会发现很多部分都十分相似或者一模一样,我们甚至可以将其拆分归类.而事实上,页面的确是被一个个组件构成的,本章,我们就对组件的细节做一个细致的拆分. 一:组件的使用 组件的注册分为全局注册和局部注册,目前我们用全局注册做例子. 使用Vue.component()对 Vue 实例进行全局组件的注册.这里我们注册了一个叫 Row 的组件,本质是它的模板在template中定义.另外需要注意的是,与根实例 …
11.MyBatis的Dao层实现方式 1.MyBatis的Dao层实现 1.1 传统开发方式 编写UserDao接口 public interface UserDao { List<User> findAll() throws IOException; } 编写UserDaoImpl实现 public class UserDaoImpl implements UserDao { public List<User> findAll() throws IOException { In…
10.MyBatis入门操作 1.MyBatis的简介 1.1 原始jdbc操作(查询数据) 1.2 原始jdbc操作(插入数据) ##### 1.3 **原始**jdbc操作的分析 原始jdbc开发存在的问题如下: 数据库连接创建.释放频繁造成系统资源浪费从而影响系统性能 sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码. 查询操作时,需要手动将结果集中的数据手动封装到实体中.插入操作时,需要手动将实体的数据设置到sql语句的占位…
8.面向切面编程AOP 1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术. AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. 1.2…
5.Spring JdbcTemplate 1.Spring JdbcTemplate基本使用 1.1 JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装.spring框架为我们提供了很多的操作模板类.例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列的JmsTemplate等等. 1.2 JdbcTemplate开发步骤 导入spring…
3.SpringMVC入门 1.Spring与Web环境集成 1.1 ApplicationContext应用上下文获取方式 应用上下文对象是通过new ClasspathXmlApplicationContext(spring配置文件) 方式获取的,但是每次从容器中获得Bean时都要编写new ClasspathXmlApplicationContext(spring配置文件) ,这样的弊端是配置文件加载多次,应用上下文对象创建多次. 在Web项目中,可以使用ServletContextLis…
本文内容 Ioc和DI Spring快速入门 Spring配置文件 Spring IoC和DI注解开发 Spring配置数据源 Spring注解开发 Spring整合Junit IoC 和 DI 1.Spring快速入门 以前的开发步骤: 为了解耦,写一个xml配置文件,标识UserDaoImpl的全限定名,今后再要调用UserDao实例化对象就直接通过Spring框架提供的getBean()方法去创建,Spring框架会读取xml得到全限定名,再通过反射newInstance()的方法拿到对象…
以下为自学笔记. 一.Array类型 创建数组的基本方式有两种: 1.1第一种是使用Array构造函数(可省略new操作符). 1.2第二种是使用数组字面量表示法. 二.数组的访问 2.1访问方法 在读取和设置数组的值时,要用方括号并提供相应值的基于0的数字索引: 2.2length属性 数组的项数保存在length属性中,这个属性始终返回0或者更大的值. 数组length属性不是只读的,通过设置这个属性,可以从数组的末尾移除项或者向数组中添加新项.看下面的例子: 三.转换方法  valueOf…
<Linux内核设计与实现>课本第四章自学笔记 进程调度 By20135203齐岳 4.1 多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态. 多任务系统分为两种: 抢占式多任务:Linux提供了抢占式的多任务模式,由调度程序来决定什么时候停止一个进程的运行. 现代操作系统提供:动态时间片计算的方式:可配置的计算策略 非抢占式多任务:除非进程自己主动停止运行,否则会一直…
<Linux内核设计与实现>课本第三章自学笔记 进程管理 By20135203齐岳 进程 进程:处于执行期的程序.包括代码段和打开的文件.挂起的信号.内核内部数据.处理器状态一个或多个具有内存映射的内存地址空间或执行线程等其他资源. 线程:是在进程中活动的对象.每个线程都有一个独立的程序计数器.进程栈和一组进程寄存器.内核调度的对象是线程而非进程.操作系统中进程提供两种虚拟机制:虚拟存储器和虚拟内存. 程序:本身并不是进程,进程是处于执行期的程序以及相关的资源的总称.不同的进程可以执行同一个程…
<Linux内核设计与实现>课本第十八章自学笔记 By20135203齐岳 通过打印来调试 printk()是内核提供的格式化打印函数,除了和C库提供的printf()函数功能相同外还有一些资深的特殊功能 健壮性 在任何时候内核的任何地方都能调用printk()函数,只有在终端还未初始化的时候不能调用. 在中断上下文和进程上下文中被调用 在任何持有锁时被调用 在多处理器上同时被调用,并且不必使用锁. 解决办法是提供一个变体函数early _ printk(),但这种办法在某些硬件体系结构上无法…
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9344721 作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo 有同学提到无限大地图的问题并且举了无尽跑酷游戏的列子,雾央在这里简单的和大家说一下自己的看法: 雾央认为,像Temple Run这种游戏,它们的无尽地图的实现是依靠逻辑生成…
Qt Model/View 学习笔记 (七) Delegate  类 概念 与MVC模式不同,model/view结构没有用于与用户交互的完全独立的组件.一般来讲, view负责把数据展示 给用户,也处理用户的输入.为了获得更多的灵性性,交互通过delegagte执行.它既提供输入功能又负责渲染view中的每个数据项. 控制delegates的标准接口在QAbstractItemDelegate类中定义.Delegates通过实现paint()和sizeHint()以达到渲染内容的目的.然而,简…
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 循环 6.使用dict和set 6.1 dict 6.2 set 7.函数的使用 7.1函数返回多个值,同时接受多个值 7.2函数参数的默认值 7.3可变参数的函数 7.4可变个数带参数名的入参 7.5参数类型组合 8.关于函数递归 9.python的高级特性 9.1切片 9.2遍历 9.3列表生…
Ssh自学笔记 Ssh简介 传统的网络服务程序,如:ftp.pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据.而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到"中间人"(man-in-the-middle)这种方式的攻击.所谓"中间人"的攻击方式, 就是"中间人"冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器.服务器和你之间的数…
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Programming Second Edition学习笔记(七)indigo PCL xtion pro live indigo PCL例子以及xtionpro live pcl --$ rosrunchapter6_tutorials pcl_create --$ rviz --$ roscdchap…
Elasticsearch笔记七之setting,mapping,分片查询方式 setting 通过setting可以更改es配置可以用来修改副本数和分片数. 1:查看,通过curl或浏览器可以看到副本分片信息 curl -XGET http://192.168.79.131:9200/shb01/_settings?pretty http://192.168.79.131:9200/shb01/_settings?prett 2:修改 不存在索引shb03时可以指定副本和分片,如果shb03已…
vue 自学笔记(一): 知识内容:  安装vue ,创建vue实例,安装第一个组件,单项数据流 https://www.cnblogs.com/baili-luoyun/p/10763163.html vue 自学笔记(二) 知识内容:实例的概念,属性和方法,页面如何绑定数据,声明周期函数,官方图解 https://www.cnblogs.com/baili-luoyun/p/10763551.html vue 自学笔记(三) 知识内容: 计算属性,侦听 https://www.cnblogs…
JS自学笔记05 1.例题 产生随机的16进制颜色 function getColor(){ var str="#"; var arr=["0","1","2","3","4","5","6","7","8","9","A","B","C&…
JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.name="cc"; obj.age=18; //添加方法 obj.eat=function(){...}; //调用 obj.eat(); ②自定义构造函数创建对象(结合第一种和需求通过工厂模式创建对象) 工程模式: 对象名 Instanceof 对象名 根据对象是否属于给定类 返回布尔值 f…
JS自学笔记03 1.函数练习: 如果函数所需参数为数组,在声明和定义时按照普通变量名书写参数列表,在编写函数体内容时体现其为一个数组即可,再传参时可以直接将具体的数组传进去 即 var max=getArratMax([1,4,2,6,8,2,5]); 关于说明: /** *函数的说明 *@param array参数为一数组//解释说明参数列表 *returns //解释说明返回值 * * / 当有人需要查看该函数的说明时,使用ctrl+左键点击函数名即可访问以上注释 //输入年月日,获取这个…
JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: var num=parseInt(prompt("输入数字")); 4.调试 1)完成代码后,打开浏览器,f12键打开开发人员工具,sources –双击文件,在某一行代码前面点击一下,将出现断点.刷新页面后才能继续进行调试 左一,断点后内容不再逐步调试,直接完成 左二,将当前断点处的循环…
JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Document Object Model)文档对象模型 BOM(Browser Object Model)浏览器对象模型 3.js代码的位置: 执行:单击右上角浏览器图标.Alt+f2快捷键. –在html文件中的script的标签中书写js代码 –js代码可以在html的标签中内嵌 –在js文件中可…
JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法被重写 4)变量为常量,其值不可被改变 修饰引用类型时:引用类型的地址值不能变但其成员变量(堆内存的值)等是可以变的 5)初始化时机: 被final修饰的变量只能赋值一次 在构造方法完毕前修饰变量,避免其被构造方法改变(非静态的常量) 3.多态 1)某一个事物,在不同时刻表现出不同的状态 2)前提与…
JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return 返回值: } ①修饰符:对于初学者使用public static ②返回值类型:方法结果的类型 ③方法名符合命名规则即可 ④实际参数:实际参与运算的 形式参数:定义在方法上的,用于接收实际参数 ⑤方法定义在类中但在主方法外 3)调用方式: 单独调用:方法名(变量名1,变量名2,-)一般没有意义 输出…
JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每个一维数组的元素个数 存储图解: eg:int[][]arr = new int[3][3]; 意义:定义了一个二维数组名为arr,这个二维数组有3个一维数组,名称是arr[0].arr[1].arr[2],每个数组有3个元素,可通过arr[m][n]来访问相应m+1.n+1元素 区分…
JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+1 break; } 2)注意事项: 表达式结果类型:byte/short/int/char/枚举/string case 后只能跟常量表达式而不能接变量,不能接相同的常量表达式 default可以在任意位置,但它总是最后执行的 switch 语句是以break 语句为结束而不是default @例…
JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功能:给对象中的数据进行初始化 3)格式:方法名与类名相同,没有具体的返回值类型(包括void),没有具体的返回值 public 类名(){-;}; 4)注意事项:如果不提供构造方法,系统将给出默认的无参构造方法,若已给出,系统不再给出构造方法,可以被重载. 5)重载格式:可以有参数列表即可以在构造方…
JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口的实现类对象 4)类名作返回值类型 返回的是该类的一个对象 class StudentDemo{ public Student getStudent(){ return new Student()}//匿名对象,返回一个student类型 } //创建该类的对象并调用该对象的getStudent()…