博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM整合XML版(Maven Project)
阅读量:4330 次
发布时间:2019-06-06

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

一、使用IntelliJ IDEA 创建Maven管理的JAVA Web项目

①新建项目,选择Maven Module

 

 在本地磁盘用户的。.m2目录下生成settings文件:

 

Maven工程搭建完毕!!!


 


 


 ② 开发步骤:

自动从本地仓库下载Jar包:

4.0.0
cn.wj
SpringMVC_SSM
war
1.0-SNAPSHOT
SpringMVC_SSM Maven Webapp
http://maven.apache.org
junit
junit
3.8.1
test
javaee
javaee-api
5
org.springframework
spring-core
4.2.2.RELEASE
org.springframework
spring-beans
4.2.2.RELEASE
org.springframework
spring-context
4.2.2.RELEASE
org.springframework
spring-tx
4.1.9.RELEASE
org.springframework
spring-aspects
4.2.1.RELEASE
org.springframework
spring-context-support
4.1.9.RELEASE
org.springframework
spring-jdbc
4.2.3.release
org.springframework
spring-test
4.1.9.RELEASE
org.springframework
spring-web
4.2.3.RELEASE
org.springframework
spring-webmvc
4.1.9.RELEASE
 
org.mybatis
mybatis
3.2.2
org.mybatis
mybatis-spring
1.3.0
org.javassist
javassist
3.17.1-GA
cglib
cglib
2.2.2
c3p0
c3p0
0.9.1.2
com.oracle
ojdbc6
11.2.0.1.0
SpringMVC_SSM

 

③ 由于Maven对oracle数据库的不支持,我们需要将Oracle装载到本地仓库,

让Maven使用Oracle

1、配置Maven3.3.9 bin到环境变量

然后可以通过cmd命令行 mvn -version测试有没有测试成功!!!

2、定位到Oracle安装目录的jdbc文件夹

 


④搭建分层架构---实现添加学生


实体类UserInfo:

package cn.wj.entity;/** * Created by WJ on 2017/1/16. */public class UserInfo {    private Integer id;    private String name;    private Integer age;    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }}

 dao接口: 无需dao实现类,通过代理生成

public interface IUserInfoDao {    public void add(UserInfo info);}

 service层:

public interface IUserInfoService {    public void add(UserInfo info);}

 service实现类:

public class UserInfoServiceImpl implements IUserInfoService {    private IUserInfoDao dao;    public void add(UserInfo info) {        dao.add(info);    }    public IUserInfoDao getDao() {        return dao;    }    public void setDao(IUserInfoDao dao) {        this.dao = dao;    }}

 控制器类:controller 

public class UserInfoController implements Controller {    private IUserInfoService service;    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {        String uname=httpServletRequest.getParameter("uname");        Integer uage=Integer.valueOf(httpServletRequest.getParameter("uage"));        UserInfo info=new UserInfo();        info.setName(uname);        info.setAge(uage);        service.add(info);        return new ModelAndView("/welcome.jsp");    }    public IUserInfoService getService() {        return service;    }    public void setService(IUserInfoService service) {        this.service = service;    }}

 由于是整合MyBatis,需要书写核心配置文件:

小配置:UserInfoDao.xml: 

 MyBatis配置文件:mybatis-config.xml

 applicationContext.xml:进行植入dao、service、controller、事务管理器、数据源、sessionFactory 

 


index.jsp页面:

用户名:
年龄:

 Web.xml:进行配置中央调度器 

contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:applicationContext.xml
1
springmvc
*.do
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
forceEncoding
true
CharacterEncodingFilter
/*

  实现效果:

 


 注:若出现此类异常--org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

解决方案:参见博客

http://www.cnblogs.com/jstarseven/p/5803697.html

http://blog.csdn.net/shifangwannian/article/details/48882201 

转载于:https://www.cnblogs.com/WJ-163/p/6291885.html

你可能感兴趣的文章
crash 收集
查看>>
507 LOJ 「LibreOJ NOI Round #1」接竹竿
查看>>
UI基础--烟花动画
查看>>
2018. 2.4 Java中集合嵌套集合的练习
查看>>
精通ASP.NET Web程序测试
查看>>
vue 根据不同属性 设置背景
查看>>
51Nod1601 完全图的最小生成树计数 Trie Prufer编码
查看>>
Codeforces 1110D. Jongmah 动态规划
查看>>
android驱动在win10系统上安装的心酸历程
查看>>
优雅的程序员
查看>>
oracle之三 自动任务调度
查看>>
Android dex分包方案
查看>>
ThreadLocal为什么要用WeakReference
查看>>
删除本地文件
查看>>
FOC实现概述
查看>>
base64编码的图片字节流存入html页面中的显示
查看>>
这个大学时代的博客不在维护了,请移步到我的新博客
查看>>
GUI学习之二十一——QSlider、QScroll、QDial学习总结
查看>>
nginx反向代理docker registry报”blob upload unknown"解决办法
查看>>
gethostbyname与sockaddr_in的完美组合
查看>>