三层架构
- 
项目开发时,遵循的一种设计模式,分为三层
- 界面层:用来接收客户端输入的数据,调用业务逻辑层进行功能处理,返回结果给客户端
- 过去的servlet就完成了界面层的功能(但是他做的更多)
 
 - 业务逻辑层:用来进行整个项目的业务逻辑处理,向上为界面层提供处理结果,向下问数据访问层要数据
 - 数据访问层:专门用来进行数据库的增删改查操作,向上为业务逻辑层提供数据
 
 - 界面层:用来接收客户端输入的数据,调用业务逻辑层进行功能处理,返回结果给客户端
 - 
各层之间的调用顺序是固定的,不允许跨层访问
- 界面层 < ----- > 业务逻辑层 < ----- > 数据访问层
 
 - 
图示
 

常用的框架
- 
什么是框架
- 框架是一个半成品软件,将所有的公共的,重复的功能解决掉,帮助程序员快速高效的进行项目开发
- 可复用,可扩展
 
 
 - 框架是一个半成品软件,将所有的公共的,重复的功能解决掉,帮助程序员快速高效的进行项目开发
 - 
SSM框架
- Spring:它是整合其他框架的框架,他的核心是IOC和AOP,由20多个模块组成,在很多领域都提供了很好的问题解决方案
 - SpringMVC:它是Spring家族的一员,专门用来优化控制器(servlet),提供了极简的数据提交,数据携带,页面跳转等功能
 - MyBatis:它是一个持久化层的框架,用来进行数据库访问的优化,专注于sql语句,极大的简化了jdbc的访问
 
 
MyBatis框架
简介
mybatis框架本是apache基金会的一个开源项目,原名:ibatis
2010年这个项目由apache software foundation迁移到了google code,并改名为mybatis
2013年11月迁移到github上
MyBatis执行逻辑图

添加并配置MyBatis框架
1. 新建数据库,数据表,插入测试数据
- student.sql的脚本示例
 
CREATE DATABASE ssm DEFAULT CHARSET utf8;
use ssm;
CREATE TABLE `student` (
`id` int(11)  AUTO_INCREMENT primary key ,
`name` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into student(name,email,age) values('张三','zhangsan@126.com',22);
insert into student(name,email,age) values('李四','lisi@126.com',21);
insert into student(name,email,age) values('王五','wangwu@163.com',22);
insert into student(name,email,age) values('赵六','zhaoliun@qq.com',24);
select * from student;
2. 新建maven项目,选择quickstart模板
3. 调整目录结构
- 
新增缺失的目录
 - 
删除自动生成的测试类
 
4. 修改pom文件
- 添加mybatis依赖
 - 添加mysql依赖
 
    <!-- 添加mybatis依赖-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.10</version>
    </dependency>
    <!-- 添加mysql依赖-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.30</version>
    </dependency>
- 添加资源文件的指定(指定一个目录后,原来默认的resources资源目录会失效,所以所有需要的资源目录都要手动指定)
 
  <build>
    <!-- 添加资源文件的指定-->
    <resources>
      <resource>
        <!-- 目标目录1 -->
        <directory>src/main/java</directory>
        <includes>
          <!-- 被包括的文件类型 -->
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
        <filtering>false</filtering>
      </resource>
      <resource>
        <!-- 目标目录2 -->
        <directory>src/main/resources</directory>
        <includes>
          <!-- 被包括的文件类型 -->
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>
5. idea中添加数据库的可视化
6. 添加jdbc.properties属性文件(数据库连接文件:添加到/src/main/resources/目录下)
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://ip:3306/数据库名称?useUnicode=true&characterEncoding=utf8
jdbc.username=XXXX
jdbc.password=YYYY
7. 添加SqlMapConfig.xml文件(mybatis的核心配置文件:添加到/src/main/resources/目录下)
- 配置示例
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 读取属性文件(jdbc.properties)
         resource:从resources目录下找指定名称的文件加载
         url:使用绝对路径加载属性文件
    -->
    <properties resource="jdbc.properties"/>
    <!-- 设置数据库的环境变量(数据库连接配置) -->
    <environments default="develop">
        <!-- 开发时在公司使用的数据库配置
             id:就是提供给environments的default属性使用
             根据实际情况可以有多个environment配置
        -->
        <environment id="develop">
            <!-- 配置事务管理
                 type:指事务管理的方式
                 JDBC:事务的控制交给程序员处理
                 MANAGED:由容器(Spring)来管理事务
            -->
            <transactionManager type="JDBC"/>
            <!-- 配置数据源
                 type:指定不同的的配置方式
                 JNDI:java命名目录接口,在服务器端进行数据库连接池的管理
                 POOLED:使用数据库连接池
                 UNPOOLED:不使用数据库连接池
            -->
            <dataSource type="POOLED">
                <!--
                    配置数据库连接的基本属性,用到数据库连接配置文件(jdbc.properties)
                -->
                <property name="driver" value="${jdbc.driverClassName}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--
        必须在mybatis核心配置文件中注册mapper.xml文件
        resource:从resources目录下找指定名称的文件加载
        url:使用绝对路径加载属性文件
        class:动态代理方式下的注册
    -->
    <mappers>
        <mapper resource="StudentMapper.xml"/>
    </mappers>
</configuration>
                                    相关文章
暂无评论...
