What is the three-tier architecture
In project development, a formal pattern is followed and is divided into three layers.
Interface layer: Used to receive input from the client, call the business logic layer for function processing, and return the results to the client. In the past, servlets were the functions of the interface layer.
**Business logic layer :** Used to process the business logic of the entire project, provide processing results to the interface layer upwards, and ask the data access layer downwards for data.
Data access layer: specially used to perform addition, deletion, modification and query operations of the database , providing data upward to the business logic layer.
Strictly comply with:
The calling sequence between each layer is fixed, and cross-layer access is not allowed.
Interface layer< ;------->Business logic layerData access layer
Give a simple example: If you go to a restaurant to eat, then the first person you see Yours must be the waiter. After you order the food, the waiter goes to the chef. Before the chef cooks, he first goes to the warehouse to find materials and asks the buyer. After finding all the ingredients, the chef starts cooking, and finally the waiter will give the meal to you. What needs to be strictly observed is that customers cannot go directly to the chef, nor can they go directly to the purchaser, so the waiter, chef, and purchaser are these three layers, which correspond to the interface layer, business logic layer, and data access layer of the project development respectively.
Commonly used SSM framework (understand)
Spring: It is a framework that integrates other frameworks. Its core is IOC and AOP. It consists of more than 20 modules. It provides good solutions in many fields. It is a boss-level existence.
SpringMVC: It is a part of the Spring family Member. Specifically used to optimize the controller (Servlet). Provides extremely simple data submission, data carrying, page jump and other functions.
MyBatis: is a framework of the persistence layer .Used to optimize database access. Focus on sql statements. Greatly simplify JDBC access.
What is the framework
It is a semi-finished software.
Resolve all common and repetitive functions to help the program develop quickly and efficiently.
It is reusable and extensible.
It allows Our development is simpler and faster, focusing only on the development of main logic
What is the Mybatis framework
MyBatis is originally an open source project iBatis of apache. In 2010, this project was moved from the apache software foundation to google code and renamed it MyBatis. Migrated to Github in November 2013, the latest version is MyBatis 3.5.7, and its release time is April 7, 2021.
(Key point, you may ask in the interview!!!) MyBatis has completed the optimization of the data access layer. It focuses on sql statements. It simplifies the cumbersome access mechanism of JDBC in the past.
Add framework Steps
Add dependencies
Add configuration file: The pom.xml file is the core configuration file of Mybatis
Specific steps:
1. Create a new database and create a table
#创建数据库ssm CREATE DATABASE ssm DEFAULT CHARSET utf8; #使用(打开)ssm数据库 use ssm; #创建表student 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. Create a new maven project
Select the quickstart template
Create a new empty project, To create a module, select the maven project, select the quicstart template to create a java project
3. Modify the directory
Add the missing directory , Modify directory attributes
Note here: the newly created folder should also be used as a resource, pay attention to the color of the newly added file rescoures
<!--添加MyBatis框架的依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!--添加mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency>
<!--添加资源文件的指定--> <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> </build>At this point we have completely settled the dependencies and configuration. The following is the complete pom.xml file
4.0.0 com.longlong mybatis 1.0-SNAPSHOT UTF-8 1.7 1.7 <!--添加MyBatis框架的依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <!--添加mysql依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> junit junit 4.11 test src/main/java **/*.xml **/*.properties src/main/resources **/*.xml **/*.properties
The above is the detailed content of Java Mybatis framework application example analysis. For more information, please follow other related articles on the PHP Chinese website!

The article discusses using Maven and Gradle for Java project management, build automation, and dependency resolution, comparing their approaches and optimization strategies.

The article discusses creating and using custom Java libraries (JAR files) with proper versioning and dependency management, using tools like Maven and Gradle.

The article discusses implementing multi-level caching in Java using Caffeine and Guava Cache to enhance application performance. It covers setup, integration, and performance benefits, along with configuration and eviction policy management best pra

The article discusses using JPA for object-relational mapping with advanced features like caching and lazy loading. It covers setup, entity mapping, and best practices for optimizing performance while highlighting potential pitfalls.[159 characters]

Java's classloading involves loading, linking, and initializing classes using a hierarchical system with Bootstrap, Extension, and Application classloaders. The parent delegation model ensures core classes are loaded first, affecting custom class loa


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment