springMVC+Spring4+mybatis3的demo,最下面有资源下载

1.首先根据表名生成对应的domain、dao、以及mapping.xml映射文件(具体如下)

下载mybatis-generator-core-1.3.2.rar,具体下载路径:


解压后找到mybatis-generator-core-1.3.2\lib下的generatorConfig.xml文件,编辑此文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
<generatorConfiguration>  
<!-- ˽ߝࠢȽ֯-->  
    <classPathEntry  location="mysql-connector-java-5.1.25-bin.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
        <!--连接数据库 -->  
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test" userId="root" password="1234">  
        </jdbcConnection>  
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 对应的实体类的位置-->  
        <javaModelGenerator targetPackage="test.domain" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 对应的mapping映射文件的位置-->  
        <sqlMapGenerator targetPackage="test.mapping" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 对应的dao接口的位置-->  
        <javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        <!-- 配置数据库中对应的表,具体是根据这张表生成的以上内容-->  
        <table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>  
</generatorConfiguration>  

在此目录下shirt+鼠标右键,打开命令窗口。输入命令:

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

出现以下结果即为正确,如图:(此结果是因为以前已经生成文件,现在覆盖了)


如果是先前src目录下没有文件,执行命令后,出现以下结果为成功。


生成的文件目录如下:


2.新建一个maven项目,例如(mvc),pom文件内容如下:

<?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>demo.spring</groupId>
  <artifactId>mvc</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <name>mvc</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>
    <!-- spring版本号 -->    
    <spring.version>4.3.13.RELEASE</spring.version> 
    <slf4j.version>1.7.7</slf4j.version>    
    <log4j.version>1.2.17</log4j.version>  
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    
     <!-- spring核心包 -->    
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-core</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-web</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-oxm</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-tx</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-jdbc</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-webmvc</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-aop</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-context-support</artifactId>    
        <version>${spring.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.springframework</groupId>    
        <artifactId>spring-test</artifactId>    
        <version>${spring.version}</version>    
    </dependency>   
      
    <!-- 日志文件管理包 -->    
    <!-- log start -->    
    <dependency>    
        <groupId>log4j</groupId>    
        <artifactId>log4j</artifactId>    
        <version>${log4j.version}</version>    
    </dependency>    
        
    <!-- 格式化对象,方便输出日志 -->    
    <dependency>    
        <groupId>com.alibaba</groupId>    
        <artifactId>fastjson</artifactId>    
        <version>1.1.41</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.slf4j</groupId>    
        <artifactId>slf4j-api</artifactId>    
        <version>${slf4j.version}</version>    
    </dependency>    
  
    <dependency>    
        <groupId>org.slf4j</groupId>    
        <artifactId>slf4j-log4j12</artifactId>    
        <version>${slf4j.version}</version>    
    </dependency> 
    <dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>servlet-api</artifactId>
	    <version>2.5</version>
	    <scope>provided</scope>
	</dependency>
     
    <dependency>
	    <groupId>javax.servlet</groupId>
	    <artifactId>jstl</artifactId>
	    <version>1.2</version>
	</dependency>
	
	<dependency>
	    <groupId>mysql</groupId>
	    <artifactId>mysql-connector-java</artifactId>
	    <version>5.1.10</version>
	</dependency>
	
	<dependency>
	    <groupId>commons-dbcp</groupId>
	    <artifactId>commons-dbcp</artifactId>
	    <version>1.2.2</version>
	</dependency>
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.4.1</version>
	</dependency>
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis-spring</artifactId>
	    <version>1.3.0</version>
	</dependency>
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.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>
  </build>
</project>

3.web.xml文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	
	<!-- 加载spring的配置文件 -->
	<context-param>
	    <param-name>contextConfigLocation</param-name>
	    <param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<listener>  
    <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>  
</listener> 
<!-- Spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
 	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 此时配置是springmvc的文件,不配置时默认是  <servlet-name> 的值+“-servlet.xml” -->
		<!-- <init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/applicationContext.xml</param-value>
		</init-param> -->
		<!-- 输出所有的action -->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
</welcome-file-list>  
</web-app>

4.在项目WEB-INF目录下新建 springmvc-servlet.xml 文件,具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	
	<!-- 加载spring的配置文件 -->
	<context-param>
	    <param-name>contextConfigLocation</param-name>
	    <param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<listener>  
    <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>  
</listener> 
<!-- Spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
 	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 此时配置是springmvc的文件,不配置时默认是  <servlet-name> 的值+“-servlet.xml” -->
		<!-- <init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/applicationContext.xml</param-value>
		</init-param> -->
		<!-- 输出所有的action -->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
</welcome-file-list>  
</web-app>

5.在项目WEB-INF目录下,新建 applicationContext.xml 文件,具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	
	<!-- 加载spring的配置文件 -->
	<context-param>
	    <param-name>contextConfigLocation</param-name>
	    <param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>
	<listener>  
    <listener-class>org.springframework.web.context.request.RequestContextListener </listener-class>  
</listener> 
<!-- Spring监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
 	<servlet>
		<servlet-name>springmvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<!-- 此时配置是springmvc的文件,不配置时默认是  <servlet-name> 的值+“-servlet.xml” -->
		<!-- <init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/applicationContext.xml</param-value>
		</init-param> -->
		<!-- 输出所有的action -->
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
</welcome-file-list>  
</web-app>

6.在 src/main/resources 目录下新建 config 文件夹,新建 mysql.properties 文件,内容如下:

driver=com.mysql.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=1234

7.在 src/main/java 的包下新建IDao、domain包,将之前生成的 Student.java、StudentMapper.java分别放在对应的包下。(注意修改引用包名)

8.在此目录下新建service包,新建 StudentService 接口与 StudentServiceImpl 实现类,内容如下:

package demo.spring.mvc.service;

import demo.spring.mvc.domain.Student;


public interface StudentService {

	int deleteByPrimaryKey(Integer id);

    int insert(Student record);

    int insertSelective(Student record);

    Student selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Student record);

    int updateByPrimaryKey(Student record);
}
package demo.spring.mvc.service.impl;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import demo.spring.mvc.IDao.StudentMapper;
import demo.spring.mvc.domain.Student;
import demo.spring.mvc.service.StudentService;
@Service("userService")
public class StudentServiceImpl implements StudentService {

	@Resource
	private StudentMapper studentMapper;

	@Override
	public int deleteByPrimaryKey(Integer id) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int insert(Student record) {
		// TODO Auto-generated method stub
		return studentMapper.insert(record);
	}

	@Override
	public int insertSelective(Student record) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Student selectByPrimaryKey(Integer id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int updateByPrimaryKeySelective(Student record) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int updateByPrimaryKey(Student record) {
		// TODO Auto-generated method stub
		return 0;
	}

}

9.在 src/main/resources 目录下新建 mapper 文件夹,将之前生成的 StudentMapper.xml 放到此目录下:
需要修改对应 mapper 接口的位置与对应实体类的位置,具体内容如下:

<?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" >
<mapper namespace="demo.spring.mvc.IDao.StudentMapper" >
  <resultMap id="BaseResultMap" type="demo.spring.mvc.domain.Student" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="age" property="age" jdbcType="INTEGER" />
  </resultMap>
  <sql id="Base_Column_List" >
    id, name, age
  </sql>
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
    select 
    <include refid="Base_Column_List" />
    from student
    where id = #{id,jdbcType=INTEGER}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from student
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="demo.spring.mvc.domain.Student" >
    insert into student (id, name, age
      )
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER}
      )
  </insert>
  <insert id="insertSelective" parameterType="demo.spring.mvc.domain.Student" >
    insert into student
    <trim prefix="(" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        id,
      </if>
      <if test="name != null" >
        name,
      </if>
      <if test="age != null" >
        age,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides="," >
      <if test="id != null" >
        #{id,jdbcType=INTEGER},
      </if>
      <if test="name != null" >
        #{name,jdbcType=VARCHAR},
      </if>
      <if test="age != null" >
        #{age,jdbcType=INTEGER},
      </if>
    </trim>
  </insert>
  <update id="updateByPrimaryKeySelective" parameterType="demo.spring.mvc.domain.Student" >
    update student
    <set >
      <if test="name != null" >
        name = #{name,jdbcType=VARCHAR},
      </if>
      <if test="age != null" >
        age = #{age,jdbcType=INTEGER},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>
  <update id="updateByPrimaryKey" parameterType="demo.spring.mvc.domain.Student" >
    update student
    set name = #{name,jdbcType=VARCHAR},
      age = #{age,jdbcType=INTEGER}
    where id = #{id,jdbcType=INTEGER}
  </update>
</mapper>

10 .新建 controller 包,新建 StudentAction 类,具体内容如下:

package demo.spring.mvc.controller;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import demo.spring.mvc.domain.Student;
import demo.spring.mvc.service.StudentService;

@Controller
@RequestMapping("/stu")
public class StudentAction {

	@Resource
	private StudentService studentService;
	
	@RequestMapping("/insert")
	public void save (){
		Student s = new Student();
		s.setId(10);
		s.setAge(20);
		s.setName("we");
		studentService.insert(s);
	}
}
至此,全部的项目已完成。


资源下载地址为:

https://download.csdn.net/download/qq_29477175/10445953




猜你喜欢

转载自blog.csdn.net/qq_29477175/article/details/80502605
今日推荐