day04记
useGeneratedKeys
useGeneratedKeys这个只在insert语句中有效,正常情况下useGeneratedKeys默认为false
当useGeneratedKeys为true时,如果插入的表id以自增列为主键时,将会把该自增id返回。
useGeneratedKeys="true" keyProperty="id"
数据插入之后可以直接通过对象获取自增的id
1.AngularJS中controller控制器继承
1)一般用angular的$controller的时候都是用如下的方式:
var app=angular.module('app',[]) app.controller('appController',function{})
让angular自动去寻找程序的入口ng-app,然后自动解析依赖注入,并且声成实例
2)$controller是继承父控制器的方法
$controller('baseController',{$scope:$scope})
{$scope:$scope}作用是让当前的scope域中的数据和父级scope域中的数据共享
2.前端代码分离
controller==》service==》base
以.js形式存放在web中
注:需要两个基础层,分别存放有无插件
var app=angular.module('youlexuan',[]);
var app=angular.module('youlexuan',['pagination']);
引入与一般js方式一致
如:<script type="text/javascript" src="../js/base_pagination.js"> </script>
<script type="text/javascript" src="../js/service/brandService.js"> </script>
<script type="text/javascript" src="../js/controller/brandController.js"> </script>
3.规格管理模块的修改
1)要建立两个表Specification和SpecificationOption的连接,需要建立一个实体类封装两表(规格选项应为集合类型)
2)先按id查询
3)在修改保存时,主要分规格对象和规格选项两部分保存
//规格选项的保存
//1.首先将规格选项中原有的都删除
SpecificationOptionQuery query = new SpecificationOptionQuery();
SpecificationOptionQuery.Criteria criteria = query.createCriteria();
criteria.andSpecIdEqualTo(specEntity.getSpecification().getId());
optionDao.deleteByExample(query);
//2.再将页面规格选项循环存入
for(SpecificationOption option:specEntity.getSpecificationOptionList()){
option.setSpecId(specEntity.getSpecification().getId());
optionDao.insertSelective(option);
}