发表于: 2020-01-03 20:02:41
1 1131
一、今天完成的事
1.mybatis常用标签
if:
<if></if>
条件验证
choose:
判断when标签中条件是否成立
choose为switch,when为case,otherwise为default
trim:
trim主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,对应的属性是prefix和suffix。
可以吧包含的内容的首部或尾部某些内容忽略,对应的属性是prefixOverride和suffixOverrides
foreach:
遍历collection中的集合或数组的元素
2.反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法
对于任意一个对象,都能调用它的任意方法和属性
例:Class.forName() 注册驱动
springIoc的实现原理就是工厂模式加反射机制
为什么不用new而用反射:
new对象无法调用该类中私有的东西
new属于静态编译,反射属于动态编译
反射的好处:提高程序的灵活性,拓展性,降低耦合性,提升自适应能力,允许程序创建和控制任意一个类的对象,不需要对目标类进行编码。
3.AOP
面向切面编程,例:
缓存机制,事务机制
4.Map,List,Set,Array
Map:元素按键值对存储,无放入顺序
List:元素按顺序放入,可重复
Set:元素无顺序放入,元素不可重复,元素在set中的位置由hashcode决定,位置固定
array:数组,可以存储对象和基本数据类型,长度固定
List和set都继承collection接口,Map是键值对,属于双列集合
5.Ioc
控制反转,通过注解或xml配置文件的方式,对对象进行控制,降低耦合度
6.贫血模型,充血模型
贫血模型:使用的领域对象中只有setter和getter方法,对所有的业务逻辑都不包含在领域对象中而是放在业务逻辑层
充血模型:将大多数业务逻辑和持久化放在领域对象中,业务逻辑只是完成对业务逻辑的封装、事务和权限等的处理。符合面向对象思想
7.clean,install,package,deploy
clean对target文件进行清除
pachage:打包到本目录的target下
install:把target目录下打的包安装到本地仓库,可供其他项目使用
deploy:将打包的文件发布到远程参考,提供其他人员进行下载依赖
8.varchar、char、text、LongText
UTF-8英文字符占1个字节,中文字符占3个字节
mysql4.0以下varchar(20)中的20表示20个字节
mysql5.0以上varchar(20)中的20表示20个字符
char长度固定,每条数据占用等长字节空间,适用于长度不变的字段如身份证号,手机号等
varchar可变长度,可以设置最大长度
text不设置长度,当不知道属性的最大长度时,适合使用text
LongText不设置长度,保存字节数比text大,适合存储比较大的内容
查询速度:char最快,varchar次之,text最慢
9.分页
pagehelper分页
mysql分页
<!--查询数据库中第一条至后十条数据-->
select * from student limit 0,10
如何判断是否有下一页:
获取总页码数,总页码数除以每页的记录数,只要有余数就有下一页。
二、遇到的问题
三、收获
四、明天的计划
真实评审
评论