目录
三层架构
常用的框架SSM
框架
MyBatis框架
添加框架的步骤
附录:(框架建立具体步骤图)
在项目开发中,遵循的一种形式模式,分为三层。
1)界面层:用来接收客 户端的输入,调用业务逻辑层进行功能处理,返回结果给客户端.过去的servlet就是界面层的功能.
2)业务逻辑层:用来进行整个项目的业务逻辑处理,向上为界面层提供处理结果,向下问数据访问层要数据.
3)数据访问层:专门用来进行数据库的增删改查操作,向上为业务逻辑层提供数据.
各层之间的调用顺序是固定的,不允许跨层访问.
界面层<------->业务逻辑层<------>数据访问层
个人觉得就是分层进行开发的话会更为安全,结构清晰、耦合度低,各层分工明确,可维护性高,可扩展性高。有利于标准化,开发人员可以之关注结构中某一个层次功能的实现,同时还有利于各层逻辑复用。
Spring:它是整合其它框架的框架.它的核心是IOC和AOP.它由20多个模块构成.在很多领域都提供了很好的解决方案。
SpringMVC:它是Spring家族的一员.专门用来优化控制器(Servlet)的.提供了极简单数据提交,数据携带,页面跳转等功能。
MyBatis:是持久化层的一个框架.用来进行数据库访问的优化.专注于sql语句.极大的简化了JDBC的访问。
它是一个半成品软件.将所有的公共的,重复的功能解决掉,帮助程序快速高效的进行开发.它是可复用,可扩展的。
(1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。
(2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
(3)通过xml 文件或注解的方式将要执行的各种 statement 配置起来,并通过java对象和 statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射为java对象并返回。(从执行sql到返回result的过程)。
个人总结:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。也就是说MyBatis完成数据访问层的优化.它专注于sql语句,简化了过去JDBC繁琐的访问机制。
1)添加依赖
2)添加配置文件
具体步骤:
1.新建库建表
2.新建maven项目,选quickstart模板
3.修改目录,添加缺失的目录,修改目录属性
4.修改pom.xml文件,添加MyBatis的依赖,添加mysql的依赖
org.mybatis
mybatis
3.4.4
mysql
mysql-connector-java
5.1.25
5.修改pom.xml文件,添加资源文件指定
src/main/java
**/*.xml
**/*.properties
src/main/resources
**/*.xml
**/*.properties
6.在idea中添加数据库的可视化
7.添加jdbc.properties属性文件(数据库的配置)
8.添加SqlMapConfig.xml文件,MyBatis的核心配置文件
9.创建实体类Student,用来封装数据
实体类构建
package com.powernode.pojo;
public class Student {
private Integer id;
private String name;
private String email;
private Integer age;
public Student() {
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", email='" + email + '\'' +
", age=" + age +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Student(String name, String email, Integer age) {
this.name = name;
this.email = email;
this.age = age;
}
public Student(Integer id, String name, String email, Integer age) {
this.id = id;
this.name = name;
this.email = email;
this.age = age;
}
}
StudentMapper.xml的开发并注册
10.添加完成学生表的增删改查的功能的StudentMapper.xml文件
namespace 相当于包名 他可以区分
Java与mybatis对应映射类型
模糊查询
然后测试
然后我们继续测试
删除
更新
11.创建测试类,进行功能测试
按主键查询学生测试首先上来就要知道,我们的步骤分为以下几类:
StudentMapper.xml文件
insert into student (name,email ,age) values(#{name},#{email},#{age})
delete from student where id=#{id}
update student set name=#{name},email=#{email},age=#{age}
where id=#{id}
测试类
@Test
public void testUpdate()throws IOException {
//1.使用流读取核心配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建SqlSessionFactory工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3.取出SqlSession
SqlSession sqlSession = factory.openSession();
//4.调用方法
int num = sqlSession.update("zar.update",new Student(3,"hehe","[email protected]",30));
System.out.println(num);
sqlSession.commit();
sqlSession.close();
}
新建一个空的工程
添加依赖
数据可视化