杂记

2018-11-13 07:35:12来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JAVA I/O系统

下一篇:HashMap的putAll方法介绍说明