一、Mapper写sql语句
- 1、 在里面映射dao
- 2、 ,, 固定标签,可以在里面写sql语句 id绑定方法名
- 3、ResultType 出参,用于查询;parameterType入参,从数据库读取
二、写入bean 和Dao接口
Dao 写方法名 ,bean是数据的载体
Mapper +bean+Dao 是MyBatis部分,主要作用是使用数据库
三、书写spring部分
1、IOC 控制反转
IOC的实现,依赖于以下3门技术
① dom4j解析xml文档;
② 工厂模式;
③ 采用反射设计模式创建对象
2.IOC(接口)
1.IOC思想是基于IOC容器完成的,IOC的底层就是对象工厂
2.Spring里边提供了IOC容器的实现的两种方式
(1) BeanFactroy:IOC容器是Spring内部的使用接口,不提供给开发人员使用
四、注解
1.什么是注解
①:注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值…)
②:使用注解,注解作用在类上面,方法上面,属性上边
③:使用注解的目的:简化XML配置
2.Spring针对Bean管理中创建对象提供的注解
@Component 普通的类
@Controller 表现层
@Service 业务层
@Repository 持久层
*上边四个功能一样,都可以用来创建bean实例
3、创建 spring 接口和类,类要实现接口,类的上面需要注解 @Controller(value=“us”)
4、用注解的方式进行注入
@Value 用于注入普通类型(String,int,double等类型)
@Autowired 默认按类型进行自动装配(引用类型)
@Qualifier 不能单独使用必须和@Autowired一起使用,强制使用名称注入
@Resource Java提供的注解,也被支持。使用name属性,按名称注入
5、spring接口
public interface ILoginService {
List<Login> selectAll();
//service 的类型不一定写的和Dao一致
Boolean login(Login login);
}
6、spring类
@Service 业务层注解和@Controller类似
//要加上Service
@Service
public class ILoginServiceImpl implements ILoginService{
//自动注入注解 Autowired
@Autowired
private LoginDao loginDao;
public List<Login> selectAll() {
List<Login> logins = loginDao.selectAll();
return logins;
}
public Boolean login(Login login) {
List<Login> logins=loginDao.login(login);
if(logins.size()==1){
return true;
}
return false;
}
}
7、Controller层
重点:
- 头部要加上注解 @Controller 和@RequestMapping告诉地址
- Controller层 创建 私有Service接口对象 并且用@Autowired注解自动注入,就像Service类 创建Dao接口并自动注入
- 每个方法都要写上如@RequestMapping(“findAll”)的注解,告诉前端地址好发送数据
- 每个方法都要写上@ResponseBody返回,不然无法进行跳转,前端无法接收
@Controller //返回指定页面
@RequestMapping("/login")
public class LoginController {
//自动注解
@Autowired
private ILoginService loginService;
@RequestMapping("findAll")
//要加上ResponseBody
@ResponseBody
public List<Login> findAll(){
List<Login> logins = loginService.selectAll();
System.out.println(logins.toString());
return logins;
}
@RequestMapping("login")
@ResponseBody
public String login(Login login){
boolean logins = loginService.login(login);
String json="";
if(logins){
json = "{\"code\":200,\"msg\":\"登录成功!\"}";
}else{
json = "{\"code\":999,\"msg\":\"登录成功!\"}";
}
return json;
}
}