博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ssm整合
阅读量:6434 次
发布时间: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

你可能感兴趣的文章
java杂乱
查看>>
在Linux上安装Python3.6.1
查看>>
[基础]iOS 可视化编程(全系列)
查看>>
我的友情链接
查看>>
LVS之NAT模型配置实验
查看>>
nginx 报错 99: Cannot assign requested address
查看>>
几种流行的AJAX框架:jQuery,Mootools,Dojo,Ext JS的对比
查看>>
Socket-Client通信
查看>>
Maven搭建简单的SS项目
查看>>
#我要上首页# 新版博客首页来了,做明星博主还会远吗?
查看>>
PHP缓存技术
查看>>
关于SOCKET资源堆栈
查看>>
笔记 百度搜索
查看>>
控制台 - 网络管理之华为交换机 S系列端口限速
查看>>
我的友情链接
查看>>
linux为启动菜单加密码
查看>>
MySQL5.5编译方式安装实战
查看>>
细谈Ehcache页面缓存的使用
查看>>
GridView如何设置View的初始样式
查看>>
Placeholder in IE8 and older
查看>>