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");
}
}
第四部分 多态
其实上面的简单工厂就用到多态了