在IDEA中使用maven整合ssm框架

1.创建maven项目

选择webapp骨架,这样创建出来的就是web项目骨架
在这里插入图片描述
第一行填写本地库存储位置,第二个是项目名称,然后一直next就可以创建成功。
在这里插入图片描述

2.创建相关文件夹:

文件夹的结构,需要注意的是,这里有两个手动需要创建的文件夹,java文件夹里存放的就是java代码,resources里存放的是ssm的相关配置文件。当你创建好这两个文件夹,IDEA一般都会自动识别这两个文件,会把Java文件夹变成蓝色,resources文件夹加一个黄色标签,如果没有识别,就需要你手动去识别,右键项目,选择open module setting,把Java文件夹选择source,把resources文件夹选择resource即可。
在这里插入图片描述

3.书写ssm框架的配置文件

在resources文件夹中创建三个配置文件,和一个mappers文件夹,mappers文件夹里再创建一个配置文件。
在这里插入图片描述
spring.xml:

<!-- 定义基础扫描的包cn.tedu -->
	<context:component-scan base-package="cn.tedu"></context:component-scan>

    <!-- datasource和德鲁伊连接池初始化 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="jdbc:mysql:///microtest"></property>
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
    <!-- sqlsession 配置接口化Mybatis编程-->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:mappers/*.xml"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>
    <!-- 扫描接口类mapper所在的包-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.tedu.mapper"/>
    </bean>

spring-mvc.xml:

<!-- 开启springmvc的注解生效 -->
    <mvc:annotation-driven/>
    <mvc:resources mapping="/**" location="/"/>

mybatis-config.xml:

<!--开启驼峰命名 关闭二级缓存 -->
	<settings>
	//驼峰命名的意思就是,比如数据库中的字段名称是user_name,bean中的字段是userName,
	//这两个字段明显不一样,在进行查询结果类型封装的时候就无法对上,
	//所以需要开启驼峰命名规则,只要满足这个规则的就可以把上面两个字段对接起来。
		<setting name="mapUnderscoreToCamelCase" value="true"/>
		<setting name="cacheEnabled" value="false"/>
	</settings>

UserMapper.xml:

mapper namespace="cn.tedu.mapper.UserMapper">
	<select id="selectUserByUserid"  resultType="cn.tedu.domain.User">
		select * from t_user where id=#{userId};
	</select>
</mapper> 

web.xml:

<!-- 定义控制器 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring*.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- spring处理中文乱码问题 -->
  <filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

4.创建UserMapper.xml的接口

首先在Java文件中创建一个mapper文件夹,里面用来存放一个UserMapper接口,为的是mybatis的接口化调用sql。
在这里插入图片描述

public interface UserMapper {
    User selectUserByUserid(String userId);
}

5.创建接下来要使用的文件夹:

在这里插入图片描述

6.在domain中书写user类代码:

public class User {
    private String userId;
    private String userName;
    private Integer lev;
    private Integer points;
    private String userPassword;

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setLev(Integer lev) {
        this.lev = lev;
    }

    public void setPoints(Integer points) {
        this.points = points;
    }

    public void setUserPassword(String userPassword) {
        this.userPassword = userPassword;
    }

    public String getUserId() {
        return userId;
    }

    public String getUserName() {
        return userName;
    }

    public Integer getLev() {
        return lev;
    }

    public Integer getPoints() {
        return points;
    }

    public String getUserPassword() {
        return userPassword;
    }
}

7.书写controller层代码:

需要注意的是,这里返回的是一个json格式数据,如果不写@responseBody,则会报异常,因为默认的是返回地址,视图适配器会更具这个地址去找view。

public class UserController {
    @Autowired
    private UserService userService;
   //订单控制器
    @RequestMapping(value = "/user/query/point",method= RequestMethod.GET)
    @ResponseBody
    public User queryUserPoint(String userId){
        User user=userService.queryUserPoint(userId);
        return user;
    }
    //积分控制器
}

8.书写service层代码:

首先,需要写一个接口:

public interface UserService {
    public User queryUserPoint(String userId);
}

然后再写该接口是实现类:
这里的usermapper接口前面已经写过了,这里就是直接使用usermapper对象(该对象是底层给我们实例化的)去调用接口中的方法,同时该接口中的方法是映射到配置文件中的sql里,查到数据后,把user的信息封装到user对象中层层返回,最后以json格式返回到前端。

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User queryUserPoint(String userId){
        return userMapper.selectUserByUserid(userId);
    }
}

9.使用maven打包,放置到服务器上:

这里就很简单了,在idea中最右边找到maven,然后操作如下:

在这里插入图片描述
首先clean清空target文件夹,防止有冲突。然后再package打包,打包就包含了编译的过程,之后就可以再target中看见这个war包,把该war包放入tomcat的webapp文件夹下,启动tomcat就可以访问。

猜你喜欢

转载自blog.csdn.net/weixin_42596778/article/details/106254345