框架:什么是框架?为什么要使用框架?框架有什么作用

admin2025-07-04 19:34:05世界杯比赛赛

一.什么是框架?

其实框架,就是别人写好了包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要费好大劲的功能。形象一点说吧,假如你盖房子,你是自己一砖一瓦的盖简单呢,还是拿一个现成的架子往上面添东西简单呢?结果不言而喻吧,有一个半成品的架子,你只需要添上一些你自己额外需要加的东西就好了。这就是框架的好处。假如,好多好多地方都要用这么一套逻辑,那么我们会定义成一个方法(函数),就免去了写同样代码的麻烦,其实这个方法,就是一个框架啦,只不过非常小而已。

web开发的MVC模式,M是模型,V是视图(表现层),C是控制层。框架就是M层啦,他把一套不涉及任何业务相关的东西都写好了包装起来,你去用就可以了,C的控制层,他是没法写的,因为不同的系统有不同的业务逻辑,框架不可能帮你把业务逻辑也写进去啦。就好比你盖房子的架子,他只能做到一个架子,不是因为他不能完全弄好,而是因为他没法去加,他也不知道你到底是需要什么颜色的瓦片,但是相比来看,框架把很多复杂的东西都弄好了,你只要在上面添加你独有的东西就可以了。

2.框架的作用是什么?

框架可以帮助省略掉一些基本的相同底层代码的反复书写,只需调用框架的方法就可以实现你想要的功能。

3.为什么要学习框架?

学习框架的目的就是提高项目的编写效率,使你可以有更多的时间去编写属于自己独特的东西,而不需要将大量的时间花费在底层代码的书写上。

二.使用框架完成全查和添加

创建测试的数据库

#判断存在即删除数据库

drop database if exists mydb;

#创建数据库

create database mydb;

#使用数据库

use mydb;

#创建表

create table t_user

(

uid int primary key auto_increment,

username varchar(20),

password varchar(20),

phone varchar(11),

address varchar(50)

);

insert into t_user(username,password,phone,address) values('张

三','666','18965423548','南阳');

insert into t_user(username,password,phone,address) values('李

四','333','18754263548','许昌');

insert into t_user(username,password,phone,address) values('小

美','123','18565234759','信阳');

select * from t_user;

2.创建一个Java项目并导入mybatis框架的jar包

在项目中创建一个lib文件夹放入mybatis框架的jar包,并导入项目中。

3.创建跟表对应的实体类。

在src中创建com.chen.bean包,然后创建User实体类

package com.lei.bean;

public class User {

private Integer uid;

private String username;

private String password;

private String phone;

private String address;

public Integer getUid() {

return uid;

}

public void setUid(Integer uid) {

this.uid = uid;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getPhone() {

return phone;

}

public void setPhone(String phone) {

this.phone = phone;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

@Override

public String toString() {

return "User{" +

"uid=" + uid +

", username='" + username + '\'' +

", password='" + password + '\'' +

", phone='" + phone + '\'' +

", address='" + address + '\'' +

'}';

}

}

4.创建针对表操作的接口类。

在src中创建com.chen.dao包,然后创建UserDao的接口,然后在接口中定义针对数据库的增删

改查等操作。

/**

* 查询所有用户信息

*/

//查询

List SelectAll();

//增加

int add(User user);

5.在接口的包中创建对应的mapper映射配置文件。

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

insert into t_user(username,password,phone,address) values(#{username},#{password},#{phone},#{address});

6.在src目录中创建mybatis框架的核心配置文件。

在src中创建一个文件,命名为SqlMapConfig.xml,在该配置文件中配置连接数据库的参数。

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

在测试类中进行测试

public class UserTest {

@Test

public void testSelectAll() throws IOException {

//1.加载核心配置文件的字节输入流

InputStream stream = Resources.getResourceAsStream("mybatis.xml");

//2.创建SqlSessionFactory的构建对象--框架使用的是构建者模式

SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();

//3.通过构建对象加载配置文件的输入流获取SqlSessionFactory

SqlSessionFactory factory=builder.build(stream);

//4.通过工厂对象获取SqlSession对象----执行JDBC操作的

SqlSession sqlSession=factory.openSession();

//5.通过SqlSession对象获取接口对应的代理对象

UserDao userDao=sqlSession.getMapper(UserDao.class);

//6.通过代理对象执行查询方法

List userList = userDao.SelectAll();

//7.遍历集合

for (User user:userList) {

System.out.println(user);

}

}

@Test

public void testadd() throws IOException {

//1.加载核心配置文件的字节输入流

InputStream stream = Resources.getResourceAsStream("mybatis.xml");

//2.创建SqlSessionFactory的构建对象--框架使用的是构建者模式

SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();

//3.通过构建对象加载配置文件的输入流获取SqlSessionFactory

SqlSessionFactory factory=builder.build(stream);

//4.通过工厂对象获取SqlSession对象----执行JDBC操作的

SqlSession sqlSession=factory.openSession();

//5.通过SqlSession对象获取接口对应的代理对象

UserDao userDao=sqlSession.getMapper(UserDao.class);

//6.定义User对象 封装数据

User user=new User();

user.setUsername("孙赛欧");

user.setPassword("111");

user.setPhone("222");

user.setAddress("00");

int i = userDao.add(user);

if (i>0){

System.out.println("chenggong");

}else {

System.out.println("shibai");

}

sqlSession.commit();

}

}

友情链接