Java spring SSM框架--mybatis

一、介绍

Spring 框架是一个资源整合的框架,可以整合一切可以整合的资源(Spring 自身和第三方),是一个庞大的生态,包含很多子框架:Spring Framework、Spring Boot、Spring Data、Spring Cloud…… 其中Spring Framework是核心。
在这里插入图片描述

SSM框架

  • Spring Framework框架
  • Spring MVC框架
  • Mybatis框架

1.Spring Framework

包含三个子框架:IoC(控制反转),AoP(面向切面编程),Spring MVC子框架
java对象和Spring Bean 对象是一样的,只是创建的人不一样

1.1 IoC

1)IoC是控制反转的思想,反转资源的获取方向
将对象的创建和管理交给框架完成,将程序员解放出来

2)实现:通过IoC容器和DI依赖注入,其中IoC容器的实现是由ApplicationContext接口实现,这个接口可以是AnnocationConfigApplicationContext 和 ClasspathXmlApplicationContext来实现
IoC容器的创建:
通过注解的方式和xml文件配置的方式进行实现

3)常用注解:(自动创建Bean对象)
类上:
①@Component
表示未分层
②@Controller
表示在控制层,负责接受请求和返回响应
③@Service
表示在业务层,负责业务逻辑处理
④@Repository
表示在数据访问层,负责数据库的交互

1.2DI依赖注入注解

① @Value(“注入值”)
属性,set方法上
②@Autowired
属性、set方法、构造方法上
对象类型或接口类型依赖注入
③@Qualifier(value=“对象名”)
根据Bean对象的名称进行注入,一个接口多个实现类时使用

面试题:
@Autowired注解和@Resource的区别

  • 前者是Spring Framework的注解,后者则是JDK的标准注解

  • @Autowired注解只能根据类型装配,一个接口多个实现类时需要结合Qualifier进行装配

  • @Resource注解如果制定了name参数,参数和Bean对象名一致,则根据name对应的Bean对象名进行装配;不一致则根据类型装配

  • @Resource未指定name参数,则把属性名作为Bean对象名称进行装配

2.Bean对象生命周期

2.1生命周期

1)实例化,通过构造方法实现
2)属性赋值,set方法实现
3)初始化,@PostConstruct注解执行初始化的方法
4)使用 context.getBean(类名.class)
5) 销毁,@PreDestroy注解执行销毁之前的方法

2.2 引入外部属性文件

1)创建配置文件,放在resources目录下,.yml、.properties、.yaml结尾
2)通过@PropertySource(“配置文件路径”)引入
3)$(配置名称)获取具体配置

2.3 自动扫描

工程中配置文件层config的配置文件SpringConfig

/**
	Configuration注解:表示当前类为配置类,Spring自动加载
	ComponentScan注解:自动扫描注解,该包以及子孙包中的所有的类,为其创建Bean对象
	MappingScan注解,自动扫描,为该包里的所有接口自动加上@Mapping注解并实例化

**/
@Configuration
@ComponentScan("扫描指定包的路径")
@MappingScan("扫描指定包的路径")
public class SpringConfig{
}

3.Mybatis框架

是一个开源的数据持久层框架,java对象与关系型数据库之间进行映射的方式,可以用xml配置文件或注解方式进行sql映射

3.1ORM

对象关系映射,用于将对象模型与关系型数据库之间进行映射

Java数据库
一个类一张表
一个类属性一个表字段
一个对象一条表记录

Java中的属性数量和类型一定要对应数据库中的字段和类型,名字可以不一致

3.2流程
  1. 创建工程,勾选mybatis、mysql,lombok依赖
    在这里插入图片描述

在这里插入图片描述

  1. 配置数据库连接信息application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/库名?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
spring.datasource.username=root
spring.datasource.password=root
  1. 创建实体类pojo.entity.类名
//对应数据表中的属性
@Data  //包含了构造方法、重写toString、get、set方法
public class Weibo {
    private Long id;
    private String content;
    private Date created;
    private Long userId;
}
  1. 创建接口和接口方法 mapper.xxxMapper
@Mapper
public interface XxxMapper {
    int insertUser(User user);
}
  1. 创建mapper映射文件 xxxMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
<insert id="对应的mapper方法名">
(增)sql语句
</insert>
<select id=".." resulttype="结果返回的实体类目录(可以是entity、vo、dto)">
查询sql语句
</select>
......
</mapper>
  1. 测试
@SpringBootTest
public class WeiboTests {
    //自动装配
    @Autowired
    private XxxMapper xxxMapper;
    //下面写测试方法:
    //(示例)
    void insertWeiboTest(){
        Weibo weibo = new Weibo();
        weibo.setContent("明天不加班了,哎");
        weibo.setCreated(new Date());
        weibo.setUserId(100L);
       	System.out.println(weiboMapper.insertWeibo(weibo));
    }

运行测试方法查看数据表中是否修改了

下一章节:

SSM框架–MVC

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值