教你如何用IDEA搭建 SSM(Spring+SpringMVC+Mybatis)框架整合_超详细步骤

SSM整合-环境搭建

一.简述:

ssm分别代表什么? 

Spring  springMVC  MyBatis

 

up-5da025171993e8f9642c5f94fa04ede2b0c.png

 

 

二. 详细的环境搭建步骤

1. 创建maven-webapp项目

up-793b2df809e78b4c4e9af0161a0c4c82ec1.png

up-de8dd5fa196ac00ac7a6581b62c66e6b537.png

①导入pom.xml 修改项目名

up-a13870ff34bb6e378ebb1cdbbeb37309fc2.png

  • pom.xml
<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.czxy</groupId>
  <artifactId>ssm1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>ssm1 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <!--<scope>test</scope>-->
    </dependency>
    <!-- web核心 -->
    <dependency>
      <groupId>javax.activation</groupId>
      <artifactId>activation</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>com.aliyuncs</groupId>
      <artifactId>aliyun-java-sdk-core</artifactId>
      <version>3.3.1</version>
    </dependency>
    <dependency>
      <groupId>com.aliyuncs.dysmsapi</groupId>
      <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.8.3</version>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.5</version>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>dom4j</groupId>
      <artifactId>dom4j</artifactId>
      <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>el-api</groupId>
      <artifactId>el-api</artifactId>
      <version>1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>net.sf.ezmorph</groupId>
      <artifactId>ezmorph</artifactId>
      <version>1.0.6</version>
      <exclusions>
        <exclusion>
          <artifactId>commons-lang</artifactId>
          <groupId>commons-lang</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.czxy</groupId>
      <artifactId>itcast-tools</artifactId>
      <version>1.5.7</version>
    </dependency>
    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.2.3</version>
      <classifier>JDK15</classifier>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-collections</artifactId>
          <groupId>commons-collections</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-beanutils</artifactId>
          <groupId>commons-beanutils</groupId>
        </exclusion>
        <exclusion>
          <artifactId>commons-lang</artifactId>
          <groupId>commons-lang</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <dependency>
      <groupId>javax.mail</groupId>
      <artifactId>mail</artifactId>
      <version>1.3.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <!-- mybatis+数据库 -->
    <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper</artifactId>
      <version>3.5.2</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.5</version>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.39</version>
    </dependency>
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>3.7.5</version>
    </dependency>
    <dependency>
      <groupId>com.github.jsqlparser</groupId>
      <artifactId>jsqlparser</artifactId>
      <version>0.9.1</version>
    </dependency>
    <dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0</version>
    </dependency>
    <!-- spring -->
    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.7</version>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.31</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.2</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>4.2.4.RELEASE</version>
      <!--<scope>test</scope>-->
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <!--springMVC-->
    <dependency>
      <groupId>aopalliance</groupId>
      <artifactId>aopalliance</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.2.2</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.3</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.8.4</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.8.4</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-core-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.8.4</version>
      <exclusions>
        <exclusion>
          <artifactId>jackson-annotations</artifactId>
          <groupId>com.fasterxml.jackson.core</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>4.2.4.RELEASE</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>ssm1</finalName>
    <pluginManagement>
      <plugins>
        <!--统一 编译环境 -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
            <source>1.8</source>
            <target>1.8</target>
            <encoding>UTF-8</encoding>
            <showWarnings>true</showWarnings>
          </configuration>
        </plugin>
        <!-- tomcat 配置-->
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
          <configuration>
            <port>8080</port>
            <server>tomcat7</server>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <!-- 此配置不可缺,否则mybatis的Mapper.xml将会丢失 -->
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
      <!--指定资源的位置-->
      <resource>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
  </build>
</project>

 

 

②向web-inf导入web.xml

up-e82c7b5304e91cf5269564bfc015015caa6.png

  • web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    
</web-app>

 

 

③创建java和resources 

注意: 

Java 标记为源码根

resources 标记为配置文件根

 

首先创建两个文件夹并命名,然后再分别进行标记

java:

up-3ee953e80d271fb2dce49dd8d43ee16bf4f.png

 

resources:

up-f4e7088fb1d79028617e081fd8751906255.png

up-d5fa5ca3ec8f581711989b4ad7ebe31a853.png

 

④检查pom.xml中配置文件目录的名字是否和 resources目录同名

up-5f848f0fb09dfa39136f6806c1a8e0f1598.png

 

 

⑤配置tomcat

1. 点击Run -->Edit Configurations...

up-1ac9c7bb82e3be9879d1e0116596249707b.png

 

2. 点左上 + 选择Tomcat Server  

up-0fe30f4afe19041fe66362d6e10ece64a32.png

 

3. 修改命名

up-a1013485231f5f3b5047752e0349e71c9d3.png

 

4. 选择Deployment -->  点击"+"   --> 选择  Artifacts

up-f0c97f2edcf377ec4ddc709b123ef5a2748.png

 

5. 选择第二个

up-06c56b05f4bde71dd34ce4f9823fc960339.png

 

6. 路径命名最好与项目名一致

up-c0cc9f01fd226f560283f585d17289c35dd.png

 

 

7. 选择Server , 修改浏览器,

并且改选为Update clasess and resources(如果默认Do nothing 项目的JSP,你每次需要重启)

up-c36969013e1060606939413553ab046c5d6.png

最终点击确认即可

 

 

2. 创建config目录,导入配置文件

up-3ea4c42a57aee88e8b126b16321cd1eab69.png

①在java下创建config目录,导入四大配置文件

在此前,需要使用Notepad++编辑,检查是否编码为无BOM

up-da6bbc0f866e5fbd6f9504184bd37657f3c.png

up-4f8774fdb543d96b0f44a6dff96ed13bf5a.png

 

然后四个配置文件复制进config下即可

up-38de4ada66921aea74006b7dadf25cee3ce.png

 

  • MVCConfiguration
package config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

/**EnableWebMvc:开启MVC配置
* 要在该配置类中配置ComponentScan,否则无法使用resources注解在此加拦截器
*/
@Configuration
@ComponentScan(basePackages={"com.czxy"})
@EnableWebMvc
public class MVCConfiguration extends WebMvcConfigurerAdapter{
	/**配置一个视图解析器*/
	@Bean
	public InternalResourceViewResolver viewResolver(){
		//1、创建一个内部资源视图解析器
		InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
		//2、设置解析器前缀
		viewResolver.setPrefix("/");
		//3、设置解析器后缀
		viewResolver.setSuffix(".jsp");
		return viewResolver;
	}
	/**文件上传解析器:方法名必须为multipartResolver*/
	@Bean
	public CommonsMultipartResolver multipartResolver(){
		CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
		//上传最大文件限制:5242880字节 = 5MB
		multipartResolver.setMaxUploadSize(5242880);
		//缓存设置:4096字节 = 4KB
		multipartResolver.setMaxInMemorySize(4096);
		multipartResolver.setDefaultEncoding("UTF-8");
		return multipartResolver;
	}
}

 

  • MyBatisConfiguration
package config;

import com.github.pagehelper.PageHelper;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.context.annotation.Bean;
import tk.mybatis.spring.mapper.MapperScannerConfigurer;

import javax.sql.DataSource;
import java.util.Properties;
public class MyBatisConfiguration {
	
	@Bean
	public SqlSessionFactory sessionFactory(DataSource dataSource) throws Exception{
		SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
		//1 数据源
		factoryBean.setDataSource(dataSource);
		//2 全局配置
		Configuration configuration = new Configuration();
		//驼峰映射(根据需要开启)
		//configuration.setMapUnderscoreToCamelCase(true);
		factoryBean.setConfiguration(configuration);
		//3 分页助手
		PageHelper pageHelper = new PageHelper();
		Properties pageProps = new Properties();
		pageProps.setProperty("dialect", "mysql");
		pageProps.setProperty("rowBoundsWithCount", "true");
		pageHelper.setProperties(pageProps);
		factoryBean.setPlugins(new Interceptor[]{pageHelper});
		//4 通过工厂bean获得对象
		return factoryBean.getObject();
	}
	
	@Bean
	public MapperScannerConfigurer scannerConfigurer(){
		MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
		//注册Dao。(注册时,修改包路径即可)
		//mapperScannerConfigurer.setBasePackage("com.czxy.product.dao,com.czxy.category.dao");
		mapperScannerConfigurer.setBasePackage("com.czxy.user.dao");
		return mapperScannerConfigurer;
	}
}

 

 

  • SpringConfiguration
package config;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;

import javax.sql.DataSource;

/**
 * spring配置类
 * @author liuyue
 * 以下三个注解分别为:
 * 1、标明当前为配置类
 * 2、加载db.property配置文件
 * 3、启动spring事务管理器
 */
@Configuration
@PropertySource("classpath:db.properties")
@EnableTransactionManagement
public class SpringConfiguration {
	
	/**spring 4.2.4 解析properties文件必有*/
	@Bean
	public static PropertySourcesPlaceholderConfigurer config(){
		return new PropertySourcesPlaceholderConfigurer();
	}
	
	/**获取数据*/
	@Value("${jdbc.driver}")
	private String driver;
	@Value("${jdbc.url}")
	private String url;
	@Value("${jdbc.username}")
	private String username;
	@Value("${jdbc.password}")
	private String password;
	
	/**配置数据源-使用阿里druid*/
	@Bean
	public DataSource getDataSource(){
		DruidDataSource dataSource = new DruidDataSource();
		dataSource.setDriverClassName(driver);
		dataSource.setUrl(url);
		dataSource.setUsername(username);
		dataSource.setPassword(password);
		return dataSource;
	}
	
	/**配置事务管理器*/
	@Bean
	public DataSourceTransactionManager txManager(DataSource dataSource){
		return new DataSourceTransactionManager(dataSource);
	}
}

 

  • WebInitializer
package config;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.filter.CharacterEncodingFilter;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration.Dynamic;

public class WebInitializer implements WebApplicationInitializer {
	/**项目启动时会执行该方法*/
	@Override
	public void onStartup(ServletContext servletContext) throws ServletException {
		/**1、初始化Spring容器(Bean对象的公寓)*/
		AnnotationConfigWebApplicationContext application = new AnnotationConfigWebApplicationContext();
		//注册配置文件(将来spring和MyBatis配置文件都以该方式配置进来)
		application.register(MVCConfiguration.class);
		application.register(SpringConfiguration.class);
		application.register(MyBatisConfiguration.class);
		//将ServletContext设置进Spring容器
		application.setServletContext(servletContext);
		
		/**2、post乱码解决*/
		javax.servlet.FilterRegistration.Dynamic encodingFilter = 
				servletContext.addFilter("CharacterEncodingFilter", new CharacterEncodingFilter("UTF-8"));
		//设置拦截处理乱码路径
		encodingFilter.addMappingForUrlPatterns(null, true, "/*");
		/**3、向servletContext中添加一个前端控制器*/
		Dynamic springMVCServlet = 
				servletContext.addServlet("springmvc", new DispatcherServlet(application));
		//控制器仅拦截*.action的请求
		springMVCServlet.addMapping("*.action");
		springMVCServlet.setLoadOnStartup(2);
	}
}

 

 

 

注意: 第一次导的人可能会报错: Alt+回车, 导包即可

up-9ef26e7b7e1080aa8e31d382237a5365947.png

 

 

然后去检查WebInitializer.java文件,是否注册了另外三个文件

(MybatisConfiguartion.class没注册进去的话, dao全报废

SpringConfiguration.class没注册进去的话,事务报废

MVCConfiguration.class没注册进去的话,控制器报废

)

up-fad3e30062be76afd61f7acb60f6f221ff9.png

 

 

 

②把propertes文件导入到resources目录,并进行修改(db.properties)

up-aedc77a46c30b03f32e5f77fbb22478fb7f.png

 

  • db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/ssm_db1
jdbc.username=root
jdbc.password=1234

 

 

修改db.properties中相应数据库名即可

up-e486ebce90e17b63780670630e250bd2c87.png

 

 

  • log4j.properties
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c:%L - %m%n

log4j.rootLogger=debug, stdout

#log4j.logger.com.ibatis = debug    
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug    
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug    
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug    
#log4j.logger.java.sql.Connection = debug    

#log4j.logger.java.sql.Statement = debug    
#log4j.logger.java.sql.PreparedStatement = debug    
#log4j.logger.java.sql.ResultSet =debug 
log4j.logger.org.apache.ibatis.transaction = info
log4j.logger.org.apache.ibatis.io = info
log4j.logger.org.apache.ibatis.datasource = info
log4j.logger.org.apache.ibatis.logging = info

 

到这里,配置就全部完成了,那么下面教你如何你创建基本类

 

3. 创建package包&定义pojo

up-df0917e6d8532bee5cd3dba079f05b115fe.png

 

User类:

@Table(name="t_user")
public class User implements Serializable{
    @Id
    private Integer uid;//主键ID
    @Column(name="login_name")
    private String login_name;//登录名
    @Column(name="login_pwd")
    private String login_pwd;//登录密码
    private Integer age;//年龄
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;//生日
    private String sex;//性别
    private String education;//学历
    private String telephone;//电话
    private String interest;//爱好
    private String remark;//备注

    @JsonFormat(pattern = "yyyy-MM-dd")
    public Date getBirthday() {
        return birthday;
    }
    //get set 有参 无参 toString
}

 

 

4. 定义Dao接口继承通用Mapper,设置Mapper映射,注册Dao

  • up-3a98339be7909dae5300017dfcff2d22b79.png

 

  • up-88626ed57485e0c49e97a7b8d8e51dc59e5.png
public interface UserDao extends Mapper<User> {

}

 

 

 

 

 

UserDao.xml的映射设置:

up-f90572a0543a9b7aa3cb44d572698ca3d33.png

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
	PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
	"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 
	namespace必须为对应dao接口的全类名
 -->
<mapper namespace="com.czxy.user.dao.UserDao">


</mapper>

 

 

注册Dao:

up-b28b9e0d5c40e9776fff9076bca4e484359.png

 

 

5. 定义Service接口和实现类,实现类加入事务管控

up-edcdada81922d2d82a1971851ebb7e5fe4c.png

 

UserServiceImpl:

@Service
@Transactional
public class UserServiceImpl implements UserService{
    @Resource
    private UserDao userDao;
}

 

 

6. 定义控制器,设置控制器访问路径

UserController

@Controller
@RequestMapping("/user")
public class UserController {
    //因为将来一个接口下可能有多个实现类,建议接口类型变量名 = 实现类名小驼峰式命名
    @Resource
    private UserService userServiceImpl;
}

 

7.  webapp用于导入项目原型

如:

 

这样,SSM框架整合可就终于完成了 , 这一张张图截的, 手有点抖了呀~~

看了的兄弟们, 可必须得安排上了哈, 哈哈~~~

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值