Mybatis回顾小结
Mybatis回顾小结回顾下mybatis的相关理解。
CRUD操作想了下好像没啥难度,主要就是sql语句要写熟点。and还有下面几个重点要注意1.所有的增删改操作都需要提交事务!2.接口所有的普通参数,尽量都写上@Param参数,尤其是多个参数时,必须写上!3.有时候根据业务的需求,可以考虑使用map传递参数!4.为了规范操作,在SQL的配置文件中,我们尽量将Parameter参数和resultType都写上!
设计模式Mybatis中的设计模式Builder模式
建造者模式是日常开发中比较常见的设计模式,它的主要作用就是将复杂事物创建的过程抽象出来,该抽象的不同实现方式不同,创建出的对象也不同。通俗的讲,创建一个对象一般都会有一个固定的步骤,这个固定的步骤我们把它抽象出来,每个抽象步骤都会有不同的实现方式,不同的实现方式创建出的对象也将不同。举个常见的例子,想必大家都买过电脑,电脑的生产或者组装其实就是属于建造者模式,我们知道,电脑的生产都需要安装CPU、内存条、硬盘等元器件。我们可以把这个安装步骤抽象出来,至于到底装哪种CPU,比如i5还是i7就是对该抽象安装步骤的具体实现。
...
SpringMVC学习(2)
SpringMVCSpringMvc照着网上的视频教程敲了一遍,主要需要写代码的就是controller控制器了
控制器Controller
控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现。
控制器负责解析用户的请求并将其转换为一个模型。
在Spring MVC中一个控制器类可以包含多个方法
在Spring MVC中,对于Controller的配置方式有很多种
如何配置Controller实现Controller接口Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法;
12345//实现该接口的类获得控制器功能public interface Controller { //处理请求且返回一个模型与视图对象 ModelAndView handleRequest(HttpServletRequest var1, HttpServletResponse var2) throws Exception;}
注意! 需要配置bean
12//编写完毕后,去S ...
SpringMVC学习(1)
SpringMVC原理学习回顾MVC1: MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。
2: MVC主要作用是降低了视图与业务逻辑间的双向偶合。
3: MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。
Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层(行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。
最典型的MVC就是JSP + servlet + javabean的模式。
SpringMVC执行原理( ...
java期末考试复习(二)
&,|与&&,||的区别
首先 &和| 称为布尔运算符,&&和|| 称为条件布尔运算符。|和&是位运算,运算结果是二进制数。 &&,||是逻辑运算,运算结果是真,或者假。两种运算符得到的结果完全相同,但得到结果的方式又一个重要区别:条件布尔运算符性能比较好。他检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。如果&&运算符的第一个操作数是false,就不需要考虑第二个操作数的值了,因为无论第二个操作数的值是什么,其结果都是false。同样,如果第一个操作数是true,||运算符就返回true,无需考虑第二个操作数的值。但&和|却不是这样,它们总是要计算两个操作数。因为操作数的就算是有条件的,如果使用&&和||运算符来代替&和|,性能会有一定提高。在大量使用这些运算符的应用程序中这表现得尤为明显。作为一个原则,尽可能使用&&和||运算符。
数组下标从0开始,创建数组是不能直接给定大小。sort()方法升序排序
java访 ...
java期末考试复习(一)
期末将近,写点试卷相关知识点。
java源程序的扩展名.java 编译后 .class
主方法名:public static void mian(String args[])
java多线程体现了并行性
java命令执行java文件 javac命令编译源文件
一个源程序可以有一个public方法,如果将类声明为public那么这个原文件名必须为这个类名
Java标识符的命名规则:1) 标识符由字母、数字、下划线“_”、美元符号“$”或者人民币符号“¥”组成,并且首字母不能是数字。2) 不能把关键字和保留字作为标识符。3) 标识符没有长度限制。4) 标识符对大小写敏感。Java编程规范:1)类名和接口名:首字母大写,其余字母小写。如SamDoc2)方法名和变量名:首字母小写,其余的字母大写。如bothEyesOfDoll。3)包名:字母全部小写。如,com.abc.dollapp。4)常量名:采用大写形式,单词之间以下划线“_”隔开。
12345678910111213package 期末;public class $abctest { public static v ...
计算机网络复习(一)
过了五一假期就不知道在干嘛,明明事情还是蛮多的。恰好网络考试,就顺便把复习的内容记录下来吧
LeetCode#1
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
1.双循环暴力解法12345678910111213141516171819202122232425262728public class class1 { public int[] twoSum(int[] nums,int target) { // int result[]=null; // result=new int[2]; for(int i=0;i<nums.length-1;i++) { for(int j=i+1;j<nums.length;j++) { ...
JAVA之多线程小案例
多线程模拟卖票模拟情形一个线程代表一个窗口,总共100张票,三个线程同时卖票并显示该线程剩余票数
实现使用synchronized同步锁:一个线程访问一个对象中的synchronized(this)同步代码块时,其他试图访问该对象的线程将被阻塞。
进程同步:同步亦称直接制约关系,它是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系就是源于它们之间的相互合作。各个进程会抢占cpu的使用权,出现bug,这个时候需要使用锁来实现对一个线程的使用权的保护。
代码123456789101112131415161718192021222324252627package 多线程.卖票;public class SellTicket implements Runnable {private int tickets=100; @Override public void run() { // TODO Auto-generated method stub while(true) ...
JAVA之多线程
JAVA之多线程何为多线程进程:是正在运行的程序
是系统进行资源分配和调用的独立单位
每一个进程都有它自己的内存空间和系统资源
线程:是进程中的单个顺序控制流,是一条执行路径
单线程:一个进程只有一条执行路径
多线程:一个进程又多个执行路径
多线程的实现方式方式一:继承Thread类,重写run()方法设置获取线程名获取设置线程优先级线程控制
12345678910111213141516package 多线程;public class MyThread extends Thread {public MyThread() { }public MyThread(String name) { super(name);} public void run() { for(int i=0;i<100;i++) { System.out.println(getName()+" "+i); } }}
12345678910111213141516171819 ...
JAVA之Properties使用
Properties何为PropertiesProperties:是一个Map体系的集合类Properties可以保存到流中或从流中加载不能使用泛型
Properties作为集合的特有方法:Object setProperty(string key,string value):设置集合的键和值,都是string类型,底层调用Hashtable方法putString getProperty(String key):使用此属性列表中指定的键搜索属性Set<String> stringPropertyNames():从该属性列表中返回一个不可修改的键集合,其中键及其对应的值是字符串
Properties和io流结合的方法void load(inputstream in):从输入字节流读取属性列表void load(Reader reader):从输入字符流读取属性列表void store(OutputStream out,String comments):将此属性列表写入Properties表中,适合以字节流输出void store(Writer writer,String c ...