发表于: 2017-09-03 23:50:26
1 933
今天完成的事情:
1. 学习基础知识
Unicode:一种字符集,几乎包括了所有语言的字符,将复杂的编码方式统一。使用一个16位来表示所有的字符这也是最初始的utf-16。但是由于对于英文前八位都是0,比如:
I 00000000 01001001
t 00000000 01110100
这样很浪费内存和网络,所以使用了utf-8来进行编码。
在utf-8中,使用1-4个字节的变长度的序列来表示一个unicode字符,但是由于是变长度会导致不知道是几位组成一个字符,所以规定最高的字节10代表一位,110代表两位,11110代表四位。
所以utf-8是unicode一个最常用的编码方式
utf-8编码英文字符所占字节数:1
utf-8编码中文字符所占字节数:3
unicode(utf-16)编码英文字符所占字节数:4
unicode(utf-16)编码中文字符所占字节数:4
简单的输入输出。
Scanner in =new Scanner(System.in);
Int age=in.nextInt;
System.out.print(“word”);
Print :输出
Printf 格式化输出printf(%d%s,id,name)
Println:换行输出
2.数据库基础
搜索
Select *from tablename where id=1 AND age<10 AnD name=’chen’;使用and来连接多个条件。
Select *from tablename where id=1 or age<10 or name=’chen’;查询三个条件中满足任意一个的数据。
Select *from tablename where id in (1,2);与or的功能相同但是 ,使用in速度更快,可以包含其他select语句
Select *from tablename where not id=1;搜索id不等于1的数据。
在使用and和or时需要注意顺序,可以使用()使其优先进行。And比or优先级高。
Select *from tablename where name like ’chen%’; 搜索以chen开始的姓名。%可以放在前面中间后面的位置。
Select *from tablename where name=‘_hen’;下划线的作用是代表一个字符的位置。可以写多个下划线。
Select *from tablename where name like‘【jm】%’;搜索j或者m开头的名字。【】表示匹配括号中任意字符【^jm】代表不是j和m,否定。
使用通配符的时候会比前面的占用资源,搜索速度会变慢。
数据排序
Select *from tablename order by id; 将数据按照id顺序排序
Select *from tablename order by id,name; 先按照id排序,再按照name排序
Select id,name,age from tablename order by 2,3;按照2,3列来进行排序。这里不能写*from
Select *from tablename order by id DECS ,name;按照id降序排列,name升序排列。
//order by 必须写在句子最后。
3.Maven是什么
项目管理工具。构建工具。具体的功能包括依赖管理,构建程序包,运行单元测试,项目部署等,作为一个连接开发测试部署将各个过程打通的一个自动化工具。
4.配置junit单元进行单元测试
单元测试简化了测试的过程,首先先导入junit的jar包,然后编写类,最后生成测试的框架并且运行。在不使用junit测试时需要专门写一个测试类,然后运行,需要写出main方法。而使用test就不需要。
图中左边是不使用junit自己写测试类,右边是使用junit。明显可以看出使用junit很清晰并且代码量更少。
在idea中使用自动生成测试框架右键----goto----test。
测试成功界面:
5.理解mybatis,jdbc,junit其中的代码含义。
Jdbc
A.try{}catch{}finally{}进行异常处理,可以使程序在有异常的情况下还可以继续运行下去。在try中运行语句,如果出错的话会继续运行并且记录在catch中,finally中需要写不论是否发生异常都要执行的语句。
B. 三层模型架构
实体(模型):数据库的映射,贯穿三层。将数据库的字段放在一起方便调用。
界面层:用于和用户交互的界面,收集输入的数据和显示数据。
业务逻辑层:中间连接的层,包含计算,验证,业务规则。
数据访问层:与数据库交互,处理数据的增删改查,并且保存到数据库。
每一层都是独立的,但是相互之间都有交互,都是互相的。实体的作用是连接三层的数据。运行的逻辑是:界面层收到需求----传递到业务逻辑层-----数据库操作。然后在原路返回到用户层,完成需求。
优点:解耦合。那一层出问题不会牵扯其他层,可维护性和扩展性高。
缺点:代码量多,降低了系统的性能,不使用三层可以直接访问数据库,而不需要中间层。
明天计划:
1. 学习是spring框架
2. Java基础
3. 数据库基础
遇到问题:
使用junit进行单元测试时出现了一些小问题。
不够理解连接jdbc和mybatis的语句。
收获:
使用了junit进行单元测试。
然后java和数据库的基础也在慢慢学习。
评论