博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm整合
阅读量:6432 次
发布时间:2019-06-23

本文共 9383 字,大约阅读时间需要 31 分钟。

SSM项目搭建

1  整合夹包:maven构建 pom.xml如下

commons-fileupload
commons-fileupload
1.3.3
commons-io
commons-io
2.1
org.springframework
spring-test
3.2.4.RELEASE
test
org.springframework
spring-webmvc
4.3.7.RELEASE
org.springframework
spring-jdbc
4.3.7.RELEASE
org.springframework
spring-aspects
4.3.7.RELEASE
org.mybatis
mybatis
3.4.2
org.mybatis
mybatis-spring
1.3.1
c3p0
c3p0
0.9.1.2
mysql
mysql-connector-java
5.1.40
javax.servlet
jstl
1.2
javax.servlet
javax.servlet-api
3.1.0
provided
junit
junit
4.12
test
org.springframework
spring-test
4.3.7.RELEASE
test

  

  生成夹包结构如图:

 

 

 2  spring-mybatis.xml配置

  

3 mybatis.xml配置

  

 4  spring-mvc.xml配置

   

 5 web.xml配置

contextConfigLocation
classpath:spring-mybatis.xml
org.springframework.web.context.ContextLoaderListener
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
springDispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
springDispatcherServlet
/
Archetype Created Web Application

通过上面的配置  项目答题上已经配置完成  接下来就是具体逻辑的书写:

  mapper层中应该定义一个接口写要用的方法,  在mappeer.xml中写相应的sql语句:

接口:

package com.login.mapper;import java.util.List;import org.apache.ibatis.annotations.Param;import com.login.entity.User;public interface UserMapper {	/*根据id查单个用户*/	public User findUserById(int id);		/*查询所有的用户*/	public List
findAllUsers(); /*新增单个用户用户*/ public void inserUser(User user); /*修改用户信息 传入多个参数*/ public void updateUser(@Param("user") User user,@Param("id")int id); /*根据用户id 删除用户*/ public void deleteUser(int id); }

  mapper.xml:

insert into user(user_id,user_name,user_pwd,user_phone) values(null,#{username},#{userpwd},#{userphone})
update user set user_name=#{user.username}, user_pwd=#{user.userpwd},user_phone=#{user.userphone} where user_id=#{id}
delete from user where user_id=#{id}

 以上就是具体的dao层写法   service层将dao层注入   

  web层代码如下:  

package com.login.web;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import com.login.entity.User;import com.login.services.UserServices;@Controllerpublic class UserServlet {	@Autowired	private UserServices userServices;		/*根据id查单个用户*/	@RequestMapping("/findUserById")	public User findUserById(int id){		User user=userServices.findUserById(id);		return user;	}			/*查询所有用户的信息*/	@RequestMapping("/findAllUsers")	public String findAllUsers(Model mode) {		List
list=userServices.findAllUsers(); mode.addAttribute("list",list); return "userMessage"; } /*新增单个用户用户*/ @RequestMapping("/inserUser") public String inserUser(HttpServletRequest request){ String username=request.getParameter("username"); String userpwd=request.getParameter("userpwd"); String userphone=request.getParameter("userphone"); User user=new User(username, userpwd, userphone); userServices.inserUser(user); return "start"; } /*修改用户信息*/ @RequestMapping("/updateUser") public void updateUser(User user,int id){ userServices.updateUser(user, id); } /*根据用户id 删除用户*/ @RequestMapping("/deleteUser") public String deleteUser(int id){ userServices.deleteUser(id); return "userMessage"; } }

 前端界面:

上面只是简单实现了ssm框架的整合,实现了增删改查操作,没有考虑相关的校验。

 

mybatis分页

    1 导入mybatis分页夹包    pagehelper-4.1.5.jar

    2  mybatis配置分页

    <plugins>

        <plugin interceptor="com.github.pagehelper.PageHelper"></plugin>
    </plugins>

    3   分页控制层编写 

    4  前台分页jstl方式显示

 

@RequestMapping("/userInfo")    public String getUsers(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){        //从第一条开始 每页查询五条数据        PageHelper.startPage(pn, 5);        List
list=userServices.findAllUsers(); //将用户信息放入PageInfo对象里 PageInfo page = new PageInfo(list,5); model.addAttribute("pageInfo", page); System.out.println(page); return "pagelist"; }

  

 

  
${user11.userid }ddd
  
${user11.username }name
当前第:${pageInfo.pageNum}页,总共:${pageInfo.pages}页,总共:${pageInfo.total}条记录

  

 

 

注意:

    1  Autowired注入的(通常)是接口

   2   在测试的时候需要先将配置文件加载进来才能实例化对象,才能调用方法  对于spring可以采用下面方式加载配置文件

      @RunWith(SpringJUnit4ClassRunner.class)

      @ContextConfiguration(locations={"classpath:SqlConfig.xml","classpath:spring-mybatis.xml" })

  3   在spring-mvc  配置中  需要有适配器 /应摄器  不然进不了requestMapping 中

  4   resultMap的用法   resultType要求数据库字段和属性名相同  不然赋不了值

 

解决编译问题

  

 

转载于:https://www.cnblogs.com/MyJavaStudy/p/9279560.html

你可能感兴趣的文章
centos7塔建MQ服务器
查看>>
Peer authentication failed for user
查看>>
超强的.NET图像工具包VintaSoftImaging.NET SDK更新至v8.6丨75折优惠
查看>>
阿里云上Kubernetes集群联邦
查看>>
Free Web Template Resources
查看>>
关于邓白氏编码的申请
查看>>
简单实现的Servlet文件上传,并显示
查看>>
传统定时器技术
查看>>
JavaScript学习(三)
查看>>
设计模式-责任链模式
查看>>
iOS开发之KVC/KVO区别使用
查看>>
Spring使用annotation读取properties文件
查看>>
100-40
查看>>
图片上传大小限制修改
查看>>
Web集群部署(Nginx+Keepalived+Varnish+LAMP+NFS)
查看>>
cisco路由器宽带拨号pppoe
查看>>
XD5.x重置所有设置
查看>>
HTML5的新增特性
查看>>
Spring AOP回顾
查看>>
单据excel数据付款关联取数实现
查看>>