MyBatis多对多关联 Spring入门 简单工厂模式 多态

2018年1月16日13:03:01

主要讲了四部分 多对多  入门 简单工厂 多态

 


命名空间到dao里的具体类dao
<mapper namespace="com.pojo.dao.PersonDao">

 resultMap的类型是查什么表就返回什么类型 id是方法名 父类
 <resultMap type="Person" id="resultMapPersonfu">
  <id property="pId" column="pid"/>
  <result property="pName" column="pname"/>
 </resultMap>


 resultMap的类型是查什么表就返回什么类型 id是方法名 继承父类的id方法名
 <resultMap type="Person" id="resultMapPersonzi" extends="resultMapPersonfu">
    类属性名 oftype写类里类型 写命名空间.对方父类
  <collection property="groups" ofType="Group" resultMap="com.pojo.dao.GroupDao.resultMapGroupfu"></collection>
 </resultMap>
 
 id是类dao的方法名 resultMap写子类resultMap的id名
 <select id="getPersons" resultMap="resultMapPersonzi">
  select * from t_person p
  left join t_person_group pg on p.pid=pg.personid
  left join t_group g on g.gid=pg.groupid where p.pid=#{pid}
 </select>
</mapper>

 

 

 

 

 


上课第二段 Spring入门

两大核心
控制反转 Ioc
依赖注入DI

Spring 的AOP面向Bean切面开发编程

spring 是逻辑控制层

 

 

MyBatis 是封装JDBC 用来操作数据库 最大特点是 动态SQL

 

 

 

 


上课第三段内容

怎么创建Spring

新建 web 项目 6.0

右键项目
MyEclipse
Add Spring capabilities
单选Spring 多选User Libraries
next finsh


把几个jar包粘贴到项目的WebRoot里的WEB-INF里的lib里 然后添加依赖
applicationContext.xml配置文件 改成spring-beans-3.2.xsd

建设实体类
package com.bdqn.entity;
public class Dog {
 //私有化属性 set get show方法
 private String shout;
 
 public void show(){
  System.out.println(this.shout);
 }


applicationContext.xml配置文件 添加bean id是自己取的名字 class是实体类的全包名.类名
<property name=实体类的属性名
<value>中间写值</value>

<beans
 <bean id="peiZhiWenJianLiDeIdMingZi" class="com.bdqn.entity.Dog">
  <property name="shout">
   <value>wangwangjiao</value>
  </property>
 </bean>
</beans>


Test测试类的main方法里
       ClassPathXml配置文件名("配置文件");
  ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
  实体类 =强转返回的 括号里是配置文件的id名
  Dog dog =  (Dog) applicationContext.getBean("peiZhiWenJianLiDeIdMingZi");
  dog.show();

 

 

 

 

 

 

第三部分 简单工厂模式

bus bike都实现car接口的抽象方法

if你要什么车我就给什么car

第一个步 接口

package com.bdqn.entity;

public class Car {
 private int carId;
 private String color;
}

第二步 两个实体类 实现接口的抽象方法

package com.bdqn.entity;

public class Bus extends Car{
 private int kjlk;
 private String jkljl;
 
}

package com.bdqn.entity;

public class Bike extends Car{
 private int jkljl;
 private String lkjkljl;
}

第三步 工厂

package com.bdqn.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.bdqn.entity.Bus;
import com.bdqn.entity.Dog;
import com.bdqn.simplefactory.SimpleFactory;

 


public class Test {
 public static void main(String[] args) {
  
  ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
  Dog dog =  (Dog) applicationContext.getBean("peiZhiWenJianLiDeIdMingZi");
  dog.show();
  
  SimpleFactory simpleFactory=new SimpleFactory();
  Bus bus=(Bus) simpleFactory.productionCar("bus");
 }
}

 

 

 

 

 

 

 

 

 

第四部分 多态

其实上面的简单工厂就用到多态了

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值