当前位置: 移动技术网 > IT编程>开发语言>Java > 杂记

杂记

2018年11月13日  | 移动技术网IT编程  | 我要评论

     @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:后缀判断的条件,去掉符合要求的后缀

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网