博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM-CRUD(1)---环境搭建
阅读量:4086 次
发布时间:2019-05-25

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

1、项目概述

项目功能点:1)、分页   2)、数据校验:Jquery前端校验+JSR303后端校验  3)、ajax  4)、RESTful风格的URI

技术点:

1)、基础框架SSM

2)、数据库MySQL

3)、前端框架BootStrap

4)、项目构建工具Maven

5)、mybatis分页插件(使用PageHelper进行分页)

6)、mybatis-generator逆向工程进行mapper生成

 

2、环境搭建

第1步、构建一个maven工程,工程名称为SSM-CRUD

创建完成后,项目结构如下:

web.xml内容如下:

第2步、在pom.xml中引入相关的依赖jar包

spring+springmvc+mybatis+数据连接池+数据库驱动+其它jar包(jstl+servlet-api+junit等等)

pom.xml内容如下:

4.0.0
com.ssm
SSM-CRUD
0.0.1-SNAPSHOT
war
3.0
4.3.3.RELEASE
3.4.2
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis.generator
mybatis-generator-core
1.3.5
org.mybatis
mybatis-spring
1.3.2
c3p0
c3p0
0.9.1
mysql
mysql-connector-java
5.1.41
jstl
jstl
1.2
taglibs
standard
1.1.2
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
junit
junit
4.12
test
com.fasterxml.jackson.core
jackson-databind
2.8.8
org.hibernate
hibernate-validator
5.4.1.Final
maven-compiler-plugin
1.8
1.8

第3步、引入bootstrap

下载bootstrap,然后在webapp下新建文件夹static,将bootstrap拷贝到static文件夹下,引入后如下图结构

在页面中引入bootstrap相关的css和js,就可以使用bootstrap,引入如下:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page    		
This is my JSP page.

第4步、配置文件

1)、web.xml配置文件

主要配置spring文件的路径和监听器用来启动spring容器;配置springmvc的前端控制器,用来拦截请求;配置springmvc的字符编码过滤器;配置HiddenHttpMethodFilter,用来处理restful风格的请求。

配置文件如下:

contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
dispatcherServlet
/
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
forceRequestEncoding
true
forceResponseEncoding
true
CharacterEncodingFilter
/*
HiddenHttpMethodFilter
org.springframework.web.filter.HiddenHttpMethodFilter
HiddenHttpMethodFilter
/*

注:spring的前端控制器可以配置自定义的或者默认的。

方式1、默认的

默认的位置与web.xml同级,即放在WEB-INF下;默认的命名为${servlet-name}-Servlet.xml。如上面的<servlet-name>为dispatchServlet,那么必须在WEB-INF下springmvc的配置文件为dispatchServlet-Servlet.xml

方式2、自定义的

可以通过init-param进行初始化位置的定义,如上自定义的配置文件为spring-mvc.xml

url可以配置*.do或*.action,所有请求的url扩展名为*.do或*.action由springmvc解析,此种方法常用。但是不可以将url设置为/*,因为这样设置会将返回的jsp也交给springmvc解析。

2)、spring配置文件:applicationContext.xml

主要配置:配置扫描包;配置数据源;配置与mybatis的整合(全局配置文件引入,mapper配置文件引入,mapper接口实现扫描,加入ioc容器等);事务控制。

3)、springmvc配置文件

主要配置包扫描;视图解析器;静态资源访问;注解驱动;

配置文件如下:

4)、配置mybatis配置文件:mybatis-config.xml

5)、配置mybatis的自动生成代码mybatis generator

第1步、首先在maven中引入mybatis-generator-core依赖

org.mybatis.generator
mybatis-generator-core
1.3.5

第2步、逆向工程配置文件如下:

第3步、测试生成代码

package com.cn.test;import java.io.File;import java.util.ArrayList;import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;import org.mybatis.generator.config.Configuration;import org.mybatis.generator.config.xml.ConfigurationParser;import org.mybatis.generator.internal.DefaultShellCallback;public class MBGTest {	public static void main(String[] args) throws Exception{		 List
warnings = new ArrayList
(); boolean overwrite = true; File configFile = new File("E:\\workplace6\\SSM-CRUD\\src\\main\\resources\\mybatisGenerator.xml"); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); }}

生成后的代码结构如下:多了6个java类和2个mapper.xml配置文件

第4步、测试

package com.cn.test;/** * dao层测试 * */import java.util.UUID;import org.apache.ibatis.session.SqlSession;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import com.cn.bean.Department;import com.cn.bean.Employee;import com.cn.dao.DepartmentMapper;import com.cn.dao.EmployeeMapper;@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations={"classpath:applicationContext.xml"})public class DaoTest{	@Autowired	private DepartmentMapper deptMapper;	@Autowired	private EmployeeMapper employeeMapper;	@Autowired	private SqlSession sqlSession;	@Test	public void test(){		//插入部门		//deptMapper.insertSelective(new Department(9,"宣传部"));		//员工插入		//employeeMapper.insertSelective(new Employee(null,"Chrisy","F","chrisy@163.com",2));				//批量插入员工		EmployeeMapper empMapper=sqlSession.getMapper(EmployeeMapper.class);		for(int i=0;i<500;i++){			String gender=i%2==0?"M":"F";			String uid=UUID.randomUUID().toString().substring(0,5);			empMapper.insertSelective(new Employee(null,uid,gender,uid+"163.com",2));		}	}}

至此,我们的配置文件都完成了****************************************************************************************************************

 

转载地址:http://qluii.baihongyu.com/

你可能感兴趣的文章
O(nLogn)排序 :快速
查看>>
取出无序数组第K大个数(借助快速排序一次划分)
查看>>
O(n^(1.3—2))排序:希尔
查看>>
O(n+k)排序:计数
查看>>
shell高级用法
查看>>
二分查找及其变种
查看>>
ip转2进制
查看>>
分析一段程序内存segment分配
查看>>
const、static、const static、static const关键字的初始化
查看>>
结构体中包裹变量实现改值
查看>>
linux下生成动态库和静态库的方法
查看>>
execv函数族
查看>>
pipe实现管道命令
查看>>
mmap相关
查看>>
signal信号相关
查看>>
线程相关
查看>>
cmakelist.demo
查看>>
使用指针访问虚函数表
查看>>
c++11使用atomic多线程同步3种方法
查看>>
使用C语言内嵌汇编实现CAS
查看>>