当前位置: 首页 > news >正文

网站建设可以抵扣吗电子商务网站建设方案的总结

网站建设可以抵扣吗,电子商务网站建设方案的总结,如何开展网站推广,国外做科普视频的网站关系映射 参考文档复习#xff1a;1对1#xff0c;1对多#xff0c;多对多 1.映射(多)对一、(一)对一的关联关系 1).使用列的别名 ①.若不关联数据表#xff0c;则可以得到关联对象的id属性 ②.若还希望得到关联对象的其它属性。则必须关联其它的数据表 … 关系映射   参考文档复习1对11对多多对多      1.映射(多)对一、(一)对一的关联关系    1).使用列的别名     ①.若不关联数据表则可以得到关联对象的id属性     ②.若还希望得到关联对象的其它属性。则必须关联其它的数据表      1.创建表    员工表    DROP TABLE IF EXISTS tbl_employee; CREATE TABLE tbl_employee (     id int(11) NOT NULL AUTO_INCREMENT,     user_name varchar(255) DEFAULT NULL,     gender char(1) DEFAULT NULL,     email varchar(255) DEFAULT NULL,     d_id int(11) DEFAULT NULL,     PRIMARY KEY (id),     KEY fk_emp_dept (d_id),     CONSTRAINT fk_emp_dept FOREIGN KEY (d_id) REFERENCES tbl_dept (id)) ENGINEInnoDB AUTO_INCREMENT5 DEFAULT CHARSETutf8;         部门表    CREATE TABLE tbl_dept(      id INT(11) PRIMARY KEY AUTO_INCREMENT,      dept_name VARCHAR(255)   )       2.创建相应的实体类和Mapper接口!     3.写关联的SQL语句    SELECT e.id id , e.user_name user_name, e.gender gender,e.d_id d_id,d.id did,d.dept_name dept_name    FROM tbl_employee e, tbl_dept d    WHERE e.d_id d.id AND e.id 1   4.在sql映射文件中写映射sql语句【联合查询级联属性封装结果集】      !-- 联合查询级联属性封装结果集 --    resultMap typecom.neuedu.entity.Employee idgetEmployeeAndDeptMap     id columnid propertyid/     result columnuser_name propertyuserName/     result columngender propertygender/     result columnemail propertyemail/     result columndid propertydepart.id/     result columndept_name propertydepart.deptName/    /resultMap       !-- public Employee getEmployeeAndDept(Integer id); --    select idgetEmployeeAndDept resultMapgetEmployeeAndDeptMap     SELECT e.id id , e.user_name user_name, e.gender gender,e.email email,e.d_id d_id,d.id did,d.dept_name dept_name     FROM tbl_employee e, tbl_dept d     WHERE e.d_id d.id AND e.id #{id}    /select          注意即使使用resultMap来映射对于“对一”关联关系可以不使用association      5.编写测试用例    方法二【使用association来定义关联对象的规则,[比较正规的推荐的方式]】       !-- 联合查询使用association封装结果集 --    resultMap typecom.neuedu.entity.Employee idgetEmployeeAndDeptMap     id columnid propertyid/     result columnuser_name propertyuserName/     result columngender propertygender/     result columnemail propertyemail/     !--     association可以指定联合的javaBean对象     propertydepart:指定哪个属性是联合的对象     javaType:指定这个属性对象的类型【不能省略】     --     association propertydepart javaTypecom.neuedu.entity.Department      id columndid propertyid/      result columndept_name propertydeptName/     /association    /resultMap       !-- public Employee getEmployeeAndDept(Integer id); --    select idgetEmployeeAndDept resultMapgetEmployeeAndDeptMap     SELECT e.id id , e.user_name user_name, e.gender gender,e.email email,e.d_id d_id,d.id did,d.dept_name dept_name     FROM tbl_employee e, tbl_dept d     WHERE e.d_id d.id AND e.id #{id}    /select         方法三[上述结果相当于使用嵌套结果集的形式]【我们这里还可以使用Association进行分步查询】       !--    使用association进行分步查询      1.先按照员工id查询员工信息      2.根据查询员工信息中d_id值取部门表查出部门信息      3.部门设置到员工中:      -- select idgetDepartById resultTypecom.neuedu.entity.Department     SELECT id ,dept_name deptName FROM tbl_dept WHERE id #{id}    /select    resultMap typecom.neuedu.entity.Employee idmyEmpByStep     id columnid propertyid/     result columnuser_name propertyuserName/     result columngender propertygender/     result columnemail propertyemail/     !--     association定义关联对象的封装规则     select:表明当前属性是调用指定的方法查出的结果     column:指定将哪一列的值传给这个方法          流程使用select指定的方法(传入column指定的这列参数的值)查出对象并封装给property指定的属性。     --     association propertydepart selectgetDepartById columnd_id/association    /resultMap    !-- public Employee getEmpAndDept(Integer id); --    select idgetEmpAndDept resultMapmyEmpByStep     select * from tbl_employee where id #{id}    /select       补充懒加载机制【按需加载也叫懒加载】     !--   在分步查询这里我们还要讲到延迟加载   Employee  Dept:   我们每次查询Employee对象的时候都将关联的对象查询出来了。    而我们想能不能我在需要部门信息的时候再去查询不需要的时候就不用查询了。    答案可以的   我们只需要在分步查询的基础之上加上两个配置    1.在mybatis的全局配置文件中加入两个属性      settings      setting namemapUnderscoreToCamelCase valuetrue/      !-- 开启懒加载机制 ,默认值为true--      setting namelazyLoadingEnabled valuetrue/      !-- 开启的话每个属性都会直接全部加载出来禁用的话只会按需加载出来 --      setting nameaggressiveLazyLoading valuefalse/     /settings    测试        Test     public void testGetEmployee(){      EmployeeMapperPlus mapper openSession.getMapper(EmployeeMapperPlus.class);      Employee employee mapper.getEmpAndDept(1);      System.out.println(employee.getUserName());     }       此时可以看到这里只发送了一条SQL语句。         注意:上面我们上面如果关联的是一个对象我们还可以使用association标签如果我们关联的是一个集合     那么该使用谁呢      映射对多的关联关系   场景二查询部门的时候将部门对应的所有员工信息也查询出来注释在DepartmentMapper.xml中      第一种 1.修改Department实体类【添加Employee集合并为该集合提供getter/setter方法】      public class Department {       private Integer id;       private String deptName;             private ListEmployee list;             public ListEmployee getList() {        return list;       }       public void setList(ListEmployee list) {        this.list list;       }      ......      }           建立DepartmentMapper接口文件并添加如下方法       public Department getDeptByIdPlus(Integer id);            2.sql映射文件中的内容为【collection:嵌套结果集的方式使用collection标签定义关联的集合类型元素的封装规则】       !-- public Department getDeptByIdPlus(Integer id); --       resultMap typecom.neuedu.entity.Department idgetDeptByIdPlusMap       id columndid propertyid/       result columndept_name propertydeptName/       !--       collection:定义关联集合类型的属性的封装规则       ofType:指定集合里面元素的类型       --       collection propertylist ofTypecom.neuedu.entity.Employee        !-- 定义这个集合中元素的封装规则 --        id columneid propertyid/        result columnuser_name propertyuserName/        result columnemail propertyemail/        result columngender propertygender/       /collection       /resultMap             select idgetDeptByIdPlus resultMapgetDeptByIdPlusMap       SELECT d.id did, d.dept_name dept_name,e.id eid,e.user_name user_name,e.email email,e.gender gender       FROM tbl_dept d       LEFT JOIN tbl_employee e       ON e.d_id d.id       WHERE d.id #{id}       /select           3.测试方法为      Test      public void testGetEmployee(){       DepartmentMapper mapper openSession.getMapper(DepartmentMapper.class);       Department department mapper.getDeptByIdPlus(2);       System.out.println(department);      }  第二种使用分步查询结果集的方式    1.如果使用分步查询的话我们的sql语句就应该为             SELECT * FROM tbl_dept WHERE id 2;     SELECT * FROM tbl_employee WHERE d_id 2;          2.在DepartmentMapper接口文件中添加方法,如下所示     public Department getDeptWithStep(Integer id);        3.再从EmployeeMapper接口中添加一个方法如下所示     public ListEmployee getEmployeeByDeptId(Integer deptId);     并在响应的sql映射文件中添加相应的sql语句      select idgetEmployeeByDeptId resultTypecom.neuedu.entity.Employee       select * from tbl_employee where d_id #{departId}      /select     4.在DepartmentMapper映射文件中     resultMap typecom.neuedu.entity.Department idgetDeptWithStepMap      id columnid propertyid/      result columndept_name propertydeptName/      collection propertylist  selectcom.neuedu.mapper.EmployeeMapper.getEmployeeByDeptId columnid /collection      /resultMap      select idgetDeptWithStep resultMapgetDeptWithStepMap       SELECT id ,dept_name FROM tbl_dept WHERE id #{id}      /select         5.测试类     Test     public void testGetEmployee(){      DepartmentMapper mapper openSession.getMapper(DepartmentMapper.class);      Department department mapper.getDeptWithStep(2);      System.out.println(department);     }         总结 1.映射(一)对多、(多)对多的关联关系》【映射对多的关联关系】    2.必须使用collection节点进行映射     3.注意ofType指定集合中的元素类型           4.!--        collection标签       映射多的一端的关联关系使用ofType指定集合中的元素类型      columnprefix:指定列的前缀      使用情境若关联的数据表和之前的数据表有相同的列名此时就需要给关联的列其别名.      若有多个列需要起别名可以为所有关联的数据表的列都加上相同的前缀然后再映射时指定前缀。     --  转载于:https://www.cnblogs.com/12344321hh/p/7481965.html
http://wiki.neutronadmin.com/news/422530/

相关文章:

  • 做企业网站有哪些系统科技感办公室设计
  • 会员制网站建设教程扬州工程招标网
  • 大型地方门户网站源码建站哪家好
  • 网站制作完成后企业咨询管理公司
  • 西安企业网站建设最简单制作网页
  • 信息网站建设预算杭州市建设网杭州造价平台
  • 网站内容创造个人怎么做网站优化
  • 阜阳网站开发公司电子商务网站开发
  • 网站设计做微信发现界面网站开发实训指导书
  • 做淘宝客怎么建网站恒通建设集团有限公司网站
  • 杭州建设行业网站免费个人网站
  • 麓谷网站建设公司懒人免费建站模板
  • 广西做网站丽江网站开发
  • 火车站网站建设方案一千元做网站
  • 静态网站如何共用一个头部和尾部app网站开发的特点
  • 网站开发服务流程界面网站的风格
  • c 做网站教程响应式个人网站psd
  • 网站建设的主机自己建立网站怎么搞
  • 成都网站建设桔子平台维护工作内容
  • 江苏省建设信息网站wordpress 地图创建
  • iis 网站目录权限做公司网站 找谁做
  • 帝国cms做投资网站源码制作一个公司网站多少
  • 企业网站首页开发网站更换域名seo
  • 百度网站地图制作怎么给网站做链接
  • 网站搭建平台有哪些长春火车站在哪个街道
  • 深圳罗湖企业网站建设报价重庆公司专业建站
  • 网站如何备案要关站吗erp系统推荐
  • 连锁店 网站建设 中企动力小满crm
  • 榆林尚呈高端网站建设万网创始人为什么封停慧聪网
  • 溧阳建设工程监理网站网页制作软件大全