杂记
@get : 提供查询方法,所有参数均在url路径中,只能传输一个或者多个字符串,无法传输对象
@post:提供新增方法,参数可以存在url路径中,也可以存在body中。
如传输文本格式的参数,使用string类型或者基本数据类型;
如传输json格式的参数,使用map、list或者对象。
@put : 提供修改方法
@delete:提供删除方法
更新用@put
添加用@post
根据条件获取数据用@get
新增(post) 修改(put) 删除(delete) 获取(get)
springboot + resteasy + maven + mybatis
当项目代码修改后,浏览器不显示修改,使用build--> rebuildproject
entity里的每一个字段,与数据库相对应,
而dto里的每一个字段,是和你前台页面相对应,
而vo,这是用来转换从entity到dto,或者从dto到entity的中间的东西
orcal不区分大小写
jpa @query
单向,相互关联的两个entity只有一个通过关系标注引用对方
拥有标注的这个entity被称为关系的owning方(对应数据库的表中有外键)
双向,相互关联的两个entity都通过关系标注彼此互相引用对方
其中一个entity是关系的owning方,另一个entity是关系的inverse方(标注中带有mappedby)。
在onetoone的关系中,对应数据库的表中有外键的是owning方;
在onetomany或manytoone的关系中,多方必须是owning方(外键必须在多方);
在manytomany的关系中,任意一方都可以是owning方(两方都有外键);
entity relationships的方向性决定了在查询时从一个entity是否可以访问关联的entity。
为了支持运行时动态代理实现的延迟加载,entity类不能是final的,其中的方法或实例变量都不能是final的。
如果entity类的对象可能会被远程调用,则entity类还必须实现java.io.serializable接口。
hbernate注解
@temporal
用于定义映射到数据库的时间精度:
@temporal(temporaltype=date)
日期
@temporal(temporaltype=time)
时间
@temporal(temporaltype=timestamp)
两者兼具
vue中关于组件
component中的
pops
html 特性是不区分大小写的。所以,使用的是非字符串模版,
camelcased (驼峰式) 命名的 prop 需要转换为相对应的 kebab-case (短横线隔开式) 命名:
html中的是非字符串模板
template中''之间的就是字符串模板
所以html中使用kebab-case在pop中就是kebabcase 驼峰命名
vm.$watch('要监控的数据',function(newval, oldval){
变化后干得事情
},{deep:true})
vm.$watch('firstname', function (newval) {})
val 就是前面'firstname'的更改值
$emit(eventname) 触发事件
:foo 是 v-bind:foo 的简写,v-bind 主要用于属性绑定,@event -a 则是 v-on:event -a 的简写。
v-model 指令在表单控件元素上创建双向数据绑定
vue-resource 提供的便捷方法:
get(url, [data], [options]);
post(url, [data], [options]);
put(url, [data], [options]);
patch(url, [data], [options]);
delete(url, [data], [options]);
jsonp(url, [data], [options]);
都是接受三个参数:
url(字符串),请求地址。可被options对象中url属性覆盖。
data(可选,字符串或对象),要发送的数据,可被options对象中的data属性覆盖。
options
/*vue.resource(url,param)默认是get,后面带的是传到后台的参数,后台使用的是对象,参数通过类的queryparam("")赋值给属性*/
/*路径是找web下java里的方法*/
var userresource = vue.resource('/user',{
condition: usermodel.condition,
orgcode: usermodel.orgcode,
field:usermodel.field,
direction:usermodel.direction
});
vue 组件在html中的执行过程
先执行组件,添加内容,然后执行$function()函数
执行后组件标签会被template里的模板代替
模板通过pop获得组件里的值,然后传给template里的变量
vue 中如果data是一个有很多属性的model,那么前台v-model绑定的表单元素如果在model中,就会自动存在model中
mapper中
<!--property是key,与实体类(entity,dto)中的字段相同,column是value,是数据库中查询的字段-->
(输入类型)parametertype = ""
sql语句中#{}表示一个占位符即?
通过${}可以将parametertype 传入的内容拼接在sql中且不进行jdbc类型转换,即解析后执行不使用占位符,直接将值传入
vo类是用来包装用来查询数据的条件,可以是对象,在mapper.xml中使用对象中的属性作为查询条件
http get: 读取/列出/检索单个资源
http post: 新建资源
http put: 更新现有资源或资源集合
http delete: 删除资源或资源集合
post=create
get=read
patch=update
delete=delete
path就是url的意思
jersey 技术
@queryparam
url输入为:users/query?from=100&to=200&orderby=age&orderby=name
此时,输出为:
getusers is called, from : 100, to : 200, orderby[age, name]
要注意的是,跟@pathparam不同,@queryparam中,指定的是url中的参数是以键值对的形式出现的,而在程序中
@queryparam("from") int from则读出url中from的值, 而@pathparem中,url中只出现参数的值,不出现键值对,比如: “/users/2011/06/30”
@path("{year}/{month}/{day}")
public response getuserhistory(
@pathparam("year") int year,
@pathparam("month") int month,
@pathparam("day") int day)
@queryparam用于获取get请求中的查询参数
@formparam,顾名思义,从post请求的表单参数中获取数据
<where></where>标签只能去掉开头的and或者or,去不掉结尾的
mapper中的foreach标签属性
collection:集合的属性
open:开始循环拼接的串
close:结束循环拼接的串
item:每次循环取到的对象
separator:每两次循环中间拼接的串
trim标签有点类似于replace效果。
trim 属性
prefix:前缀覆盖并增加其内容,在前面添加内容
suffix:后缀覆盖并增加其内容,在后面添加内容
prefixoverrides:前缀判断的条件,去掉符合要求的前缀
suffixoverrides:后缀判断的条件,去掉符合要求的后缀
上一篇: 奉献几个鬼故事,胆小的不要看哦~~
下一篇: 临近双十一,光棍节的段子先走起