复习电商笔记-10-商品数据库设计

原因:

    ItemCat.java POJO文件中为EasyUI.tree增加了属性,而数据库表中没有此字段,所以引起,json串转换成java时报错。

 

解决办法:

在类上增加忽略不能识别的属性标识。

@Table(name="tb_item_cat")	//类和表的映射
@JsonIgnoreProperties(ignoreUnknown = true)		//忽略掉不认识的属性
public class ItemCat extends BasePojo{

 

 

点击树节点后,怎么会再次发起请求呢?

延迟加载(异步加载),点击树节点,去查询其子节点信息,然后加载到树上。这样当数据量非常大时,效率高,多余的节点信息可以无需加载。

    但实现代码我们并没有写,EasyUI.Tree组件内部已经直接实现了。

 

 

如何知道哪个节点是树干,哪个是叶子节点呢?

它在js加载每个node时有个state属性,open/closed。通过它来区分。

 

 

${“ul”,_win}.tree是什么意思?

这是jQuery的语法,${“ul”}代表整个文档中查找ul元素;${“ul”,_win}代表在区域_win中查找ul元素。实现更小范围的查找,不会把其他地方不需要的ul也找出来。

 

商品表设计

 

 

商品表

 

 

主键设计

int>bigint>char>varchar

 

 

索引设计

 

  1. 主键有没有索引,只要创建主键,数据库就会自动创建索引。
  2. 什么字段才创建索引,where条件中频繁出现的字段,在orderby中频繁出现的字段。
  3. 能不能所有的字段创建索引,索引也是“表”。索引不是创建的越多越好,它也好占磁盘空间。
  4. 索引为什么快?a.字段少,b.排序(重点)

为什么能够提高查询速度?

索引就是通过事先排好序,从而在查找时可以应用二分查找等高效率的算法。
一般的顺序查找,复杂度为O(n),而二分查找复杂度为O(log2n)。当n很大时,二者的效率相差及其悬殊。

如果a的x次方等于N(a>0,且a不等于1),那么数x叫做以a为底N的对数(logarithm),记作x=logaN。其中,a叫做对数的底数,N叫做真数
指数:
https://baike.baidu.com/item/%E5%AF%B9%E6%95%B0/91326?fr=aladdin

 

商品列表

 

 

MyBatis拦截器

MyBatis 使用动态代理来增强程序代码,实现拦截器功能。它允许在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:

  1. Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed),delete和insert会调用update方法。
  2. ParameterHandler (getParameterObject, setParameters)
  3. ResultSetHandler (handleResultSets, handleOutputParameters)
  4. StatementHandler (prepare, parameterize, batch, update, query)

通过拦截ResultSetHandler修改接口返回类型;

通过拦截StatementHandler修改mybatis框架的分页机制;

通过拦截Executor查看mybatis的sql执行过程等等。

 

MyBatis拦截器比较简单,只有三个方法:intercept、plugin、setProperties

@Intercepts({@Signature(
  type= Executor.class,
  method = "update",
  args = {MappedStatement.class,Object.class})})
public class ExamplePlugin implements Interceptor {
  public Object intercept(Invocation invocation) throws Throwable {
  return invocation.proceed();
  }
  public Object plugin(Object target) {
    return Plugin.wrap(target, this);
  }
  public void setProperties(Properties properties) {
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值