SSM详细项目部署
利用SSM做一个简单的页面,页面上可以展示出数据库中的全部数据。
在知道需要做一个查询全部数据的的页面后,首先我们需要使用IDEA创建一个项目,File>new>project;在进行入创建项目的页面下,进行选择需要部署的项目,这里我们选择创建一个maven项目,选择如下:
在进入下一步next后,进入一个页面是进行对项目进行命名的,
在这个页面不同的IDEA版本和设置不一样,但是也是和这个差不多的,若是不一样,可以去百度如何规范填写。
然后下一步,到
然后进行下一步来到,我们项目需要存放的位置选择好点击完成。
下面是我们项目的结构:
在创建好后我们需要自己手动的去添加各种包,其中在main包下的java包和resources包有啥创建时,并不是上面的样子而是一种灰色的这就需要我们进行改动,我们可以选择做java包后点击右键在里面找到 Mark Directory as (标记目录为)下选择 Test Sources Root (源码 根)就可以了,java、resources这包皆可以实现
项目步骤
1、创建数据访问层:
1.1、首先我们在数据库中创建一个表(以book为例)后,我们需要在domain包下进创建一个封装book表的实体类Book:
public class Book { private Long id; private String sn; private String name; private String author; private BigDecimal price; private Long dirId; @Override public String toString() { return "Book{" + "id=" + id + ", sn='" + sn + '\'' + ", name='" + name + '\'' + ", author='" + author + '\'' + ", price=" + price + ", dirId=" + dirId + '}'; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getSn() { return sn; } public void setSn(String sn) { this.sn = sn; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public BigDecimal getPrice() { return price; } public void setPrice(BigDecimal price) { this.price = price; } public Long getDirId() { return dirId; } public void setDirId(Long dirId) { this.dirId = dirId; }}
实体类中变量需要和数据库中创建的表的数据类型,名字一致,这样才能把属性封装上去
1.2、创建数据访问层(javaweb中是DAO层),使用mybatis创建一个mapper来代替DAO,在mapper下创建一个接口
public interface BookMapper {
其中我们创建好接口后,需要去实现接口,在BookMapper.xml中去编写方法,也可以使用mybatis注解来实现,建议想简单的操作使用注解,复杂的可以在xml中进行编写。
1.3、创建mapper文件(xml),这个我们需要在 resources资源根下创建出一个和BookMapper接口一样的目录结构,这样才能识别到接口(详细原因可以查资料,这里暂不做解释)并且名字也要一样,只不过是xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.qinfeng.mapper.BookMapper"> <select id="list" resultType="com.qinfeng.domain.Book"> select * from book </select></mapper>
其中的id为list这个是和我们接口中的方法名是一样,要是不一样,那我们就无法进行使用这个sql语句
1.4、我们还需要创建在resources下建一个mybatis配置文件
这里按照我们之前学习mybatis时,这里还有很多配置没有写,如数据库的环境配置,加载properties文件,以及加载我们的mapper映射文件,因为我们在使用spring是在它配置文件也有其内容重复,进而简化。
2、创建业务逻辑层
2.1、在service包下创建一个接口,并创建一个包(impl)用来存放接口实现的,先创建接口:
public interface Book { List<com.qinfeng.domain.Book> list();}
2.2、在impl包下创建一个类来继承Book接口并实现接口中的方法
@Service("bookImpl")public class bookImpl implements Book { @Autowired private BookMapper bookMapper; @Override public List<com.qinfeng.domain.Book> list() { List<com.qinfeng.domain.Book> list = bookMapper.list(); return list; }}
2.3、这里的实现类使用spring的注解,那我们还需要在resources下建一个bean文件(applicationContext.xml):
<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd">