SSM(Spring、SpringMVC、Mybatis)三大框架的搭建

前言:昨天新学习了SSM框架搭建,于是迫不及待的在这里分享给大家,SSM框架是将 Mybatis 交给Spring去管理之后 SqlSessionFactory 就不需要手动注入了,Spring 会自动去进行注入,并且 SqlSession 也不需要我们自己去得到了,这样就比较简单了。
(本案例基于开发工具IDEA、MySQL,模拟查询Users类的信息)

、由于是新建的 maven 项目,第一步先注入 maven 的一些jar 包 ,每个jar包的作用都作好了注释,这里就不一一去解释了,如果有需要用其他jar包的,根据个人需求导入

jar包注入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
、让我们把项目所需要的包、类、数据库以及xml文件建好
以下是本框架的所有包、类、xml截图
在这里插入图片描述
users表的数据,我们随便插几条:
在这里插入图片描述
、开始配置xml
1、首先搭建SpringMVC环境(springmvc-config.xml)
此处需要开启注解,小编第一次搭框架因为粗心没有开启注解驱动,始终报注解的错
在这里插入图片描述
2、连接数据库的配置文件(db.properties),把连接数据库的配置独立出来的好处是方便切换数据库
在这里插入图片描述
3、配置Spring核心文件(applicationContext-common.xml)
①连接数据库,如需切换数据库,只需要更改引入数据库的配置文件
在这里插入图片描述
②Spring工厂代理SqlSessionFactory ,搭配model包,mapper包
在这里插入图片描述
③配置事务切面,指定方法名
在这里插入图片描述
4、web.xml配置文件
在这里插入图片描述
、java类的的编写
model包下的Users(用户)模型类:
不要忽略构造方法

package com.ssm.model;
public class Users {
    private int uid;
    private String uname;
    private String usex;
    private String birthday;
    private String address;
    public Users(String uname, String usex, String birthday, String address) {
        this.uname = uname;
        this.usex = usex;
        this.birthday = birthday;
        this.address = address;
    }
    public Users() {
    }
    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getUsex() {
        return usex;
    }

    public void setUsex(String usex) {
        this.usex = usex;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

com.ssm.mapper(映射包).UsersMapper(映射类):
一个model类配一个映射类,注意SQL语句的编写是否正确

package com.ssm.mapper;

import com.ssm.model.Users;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;

import java.util.List;

//服务层组件,用于标注业务层组件,表示定义一个@Service("自定义名")
@Service("usersMapper")
public interface UsersMapper {
    //查询所有用户
    @Select("select * from users")
    public List<Users> findUsers();

}

com.ssm.services.UsersService(业务逻辑的接口)

package com.ssm.services;

import com.ssm.model.Users;

import java.util.List;

//业务层的接口
public interface UsersService {
//查询所有的用户
    public List<Users> findUsers();
}

com.ssm.services.impl.UsersServiceImpl(实现业务逻辑的接口)
继承父类(UsersService)并继承父类所有的方法

package com.ssm.services.impl;

import com.ssm.mapper.UsersMapper;
import com.ssm.model.Users;
import com.ssm.services.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("usersService")
//实现业务层的接口
public class UsersServiceImpl implements UsersService{
    //使用UsersMapper
    //根据返回自动注入
    @Autowired
    private UsersMapper usersMapper;
    @Override
    public List<Users> findUsers() {
        return usersMapper.findUsers();
    }
}

控制器:MainController.java
在此类调用增删改查方法 进行数据库的数据处理

package com.ssm.controller;

import com.ssm.model.Users;
import com.ssm.services.UsersService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.annotation.Resource;
import java.util.List;

@Controller
public class MainController {
//按照属性名注入,方便多个类的注入
    @Resource(name = "usersService",type = com.ssm.services.impl.UsersServiceImpl.class)
    private UsersService usersService;
    @RequestMapping("test")
    public String test(){
        List<Users> list=usersService.findUsers();
        for (Users users : list) {
            System.out.println("编号:"+users.getUid()+"  姓名:"+users.getUname()+"  性别:"+users.getUsex()+"  生日:"+users.getBirthday()+"  地址:"+users.getAddress());
        }
//        System.out.println(usersService.findUsers().size());
        return "index";
    }
}

最后启动 Tomcat,浏览器访问http://localhost:8080/test.action
如果看到如下页面,就说明你成功了
在这里插入图片描述

怎么样,有没有get到!赶紧自己动手试试吧

结语:由于小编还是新手,写得可能不是很好,有不对之处,还请各位提出, 小编一定吸取意见,砥砺前行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值