`

SpringMVC+ Spring4.1.6+mybatis3.3

 
阅读更多

最近没事搭建了一下springmvc+Spring+mybatis的框架

1.首先使用eclipse创建maven项目

pom.xml

<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.share</groupId>
  <artifactId>ssm_me</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <properties>
  		<!-- spring的版本号 -->
  		<org.springframework.version>4.1.6.RELEASE</org.springframework.version>
  		<!-- mybatis版本号 -->
  		<mybatis.version>3.3.0</mybatis.version>
  </properties>
  
  <dependencies>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-beans</artifactId>
  		<version>${org.springframework.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-core</artifactId>
  		<version>${org.springframework.version}</version>
  	</dependency>
  	<dependency>
  		<groupId>org.springframework</groupId>
  		<artifactId>spring-web</artifactId>
  		<version>${org.springframework.version}</version>
  	</dependency>
  	<dependency>  
         <groupId>org.springframework</groupId>  
         <artifactId>spring-oxm</artifactId>  
         <version>${org.springframework.version}</version>  
     </dependency>  
     <dependency>  
         <groupId>org.springframework</groupId>  
         <artifactId>spring-tx</artifactId>  
         <version>${org.springframework.version}</version>  
     </dependency>  

     <dependency>  
         <groupId>org.springframework</groupId>  
         <artifactId>spring-jdbc</artifactId>  
         <version>${org.springframework.version}</version>  
     </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
            <version>${org.springframework.version}</version>  
        </dependency>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${org.springframework.version}</version>  
        </dependency>  
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-context</artifactId>
        	<version>${org.springframework.version}</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-expression</artifactId>
        	<version>${org.springframework.version}</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-orm</artifactId>
        	<version>${org.springframework.version}</version>
        </dependency>
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-webmvc</artifactId>
        	<version>${org.springframework.version}</version>
        </dependency>
        <!-- mybatis核心包 -->  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>${mybatis.version}</version>  
        </dependency>  
        <!-- mybatis/spring包 -->  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
            <version>1.2.2</version>  
        </dependency>  
        <!-- 导入java ee jar 包 -->  
        
        <!-- 导入Mysql数据库链接jar包 -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.35</version>  
        </dependency>
        <dependency>
        	<groupId>com.mchange</groupId>
        	<artifactId>c3p0</artifactId>
        	<version>0.9.5-pre10</version>
        </dependency>
            <!-- JSTL标签类 -->  
        <dependency>  
            <groupId>jstl</groupId>  
            <artifactId>jstl</artifactId>  
            <version>1.2</version>  
        </dependency>  
        <!-- 日志文件管理包 -->  
        <!-- log start -->  
        <dependency>  
            <groupId>log4j</groupId>  
            <artifactId>log4j</artifactId>  
            <version>1.2.17</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>1.7.12</version>  
        </dependency>  
  
        <!-- log end -->  
        <!-- 映入JSON -->  
        <dependency>  
            <groupId>org.codehaus.jackson</groupId>  
            <artifactId>jackson-mapper-asl</artifactId>  
            <version>1.9.13</version>  
        </dependency>  
        <!-- 上传组件包 -->  
        <dependency>  
            <groupId>commons-fileupload</groupId>  
            <artifactId>commons-fileupload</artifactId>  
            <version>1.3.1</version>  
        </dependency>  
        <dependency>  
            <groupId>commons-io</groupId>  
            <artifactId>commons-io</artifactId>  
            <version>2.4</version>  
        </dependency>  
        <dependency>  
            <groupId>commons-codec</groupId>  
            <artifactId>commons-codec</artifactId>  
            <version>1.9</version>  
        </dependency>
        <dependency>
        	<groupId>org.apache.tomcat</groupId>
        	<artifactId>tomcat-servlet-api</artifactId>
        	<version>8.0.23</version>
        </dependency>
        
        <dependency>
        	<groupId>org.springframework</groupId>
        	<artifactId>spring-support</artifactId>
        	<version>2.0.8</version>
        </dependency>
        
  </dependencies>
</project>

 2.创建配置文件

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
	http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
	<!-- spring配置文件加载 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:beans.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- springmvc配置文件加载 -->
  <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <!-- spring内置编码解决 -->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
      <param-name>forceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/learn?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

 beans.xml(Spring配置文件)

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
			http://www.springframework.org/schema/beans/spring-beans.xsd 
			http://www.springframework.org/schema/mvc 
			http://www.springframework.org/schema/mvc/spring-mvc.xsd 
			http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context.xsd 
			http://www.springframework.org/schema/aop 
			http://www.springframework.org/schema/aop/spring-aop.xsd 
			http://www.springframework.org/schema/tx 
			http://www.springframework.org/schema/tx/spring-tx.xsd ">
		
	<!-- 支持注解 -->
	<context:annotation-config/>
			 
    <!-- 组件扫描 -->
    <context:component-scan base-package="com.share.*"/>
        
    <!--数据库配置:配置jdbc.properties  -->
    <context:property-placeholder location="classpath:jdbc.properties"/>
	
	<!-- 3、配置dataSource数据源c3p0 -->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="${jdbc.driverClassName}"/>
		<property name="jdbcUrl" value="${jdbc.url}"/>
		<property name="user" value="${jdbc.username}"/>
		<property name="password" value="${jdbc.password}"/>
		
		<!-- <property name="maxPoolSize" value="${c3p0.pool.maxPoolSize}"/>
		<property name="minPoolSize" value="${c3p0.pool.minPoolSize}"/>
		<property name="initialPoolSize" value="${c3p0.pool.initialPoolSize}"/>
		<property name="acquireIncrement" value="${c3p0.pool.acquireIncrement}"/> -->
	</bean>
	
	<!-- mybatis配置文件 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<!-- 自动扫描mapping.xml文件 -->  
        <property name="mapperLocations" value="classpath:com/share/mapping/*.xml"></property>
        <!-- <property name="configLocations" value="classpath:mybatis.xml"/> -->
        <!-- 定义包的别名 -->
        <property name="typeAliasesPackage" value="com.share.domain"></property>
	</bean>
	
	<!-- DAO接口所在包名,Spring会自动查找其下的类 -->  
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.share.dao" />  
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>  
  
    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->  
    <bean id="transactionManager"  
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    </bean>  
    	
</beans>

 log4j.properties

log4j.rootLogger=INFO,stdout,file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss,SSS} [%c]-[%p] %m%n 

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.File=${spring_springmvc_jpa.root}/shirodemo.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n

log4j.logger.org.hibernate.tool.hbm2ddl=info

 3.代码:

实体类User.java

package com.share.domain;


/**
 * @author caifan
 *
 * 2015年5月28日
 */
public class User implements Serializable {

		private static final long serialVersionUID = 1L;

		private long id;//用户id
		private String username;//用户名
		private int age;//用户年龄
		private Date birthday;//用户生日

		public long getId() {
			return id;
		}

		public void setId(long id) {
			this.id = id;
		}

		public User() {
			super();
		}

		public String getUsername() {
			return username;
		}

		public void setUsername(String username) {
			this.username = username;
		}

		public int getAge() {
			return age;
		}

		public void setAge(int age) {
			this.age = age;
		}

		public Date getBirthday() {
			return birthday;
		}

		public void setBirthday(Date birthday) {
			this.birthday = birthday;
		}

		public User(String username, int age, Date birthday) {
			super();
			this.username = username;
			this.age = age;
			this.birthday = birthday;
		}

		@Override
		public String toString() {
			return "User [username=" + username + ", age=" + age + ", birthday="
					+ birthday + "]";
		}

}

 mybatis的映射文件:

<?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="com.share.dao.UserMapper">

	<resultMap type="User" id="userResultMap">
		<id property="id" column="id"/>
		<result property="username" column="username"/>
		<result property="age" column="age"/>
		<result property="birthday" column="birthday"/>
	</resultMap>

	<select id="findById" parameterType="int" resultType="User" resultMap="userResultMap">
		select * from user where id=#{id}
	</select>
  
</mapper>

 此处只写了一个映射方法,简单的通用的方法可以直接使用注解方式

UserMapper.java

注意:此处的方法名需与映射文件中的id对应

public interface UserMapper {
	/**
	 * 根据用户id查询用户 
	 */
	public User findById(Integer id); 
	
	/**
	 * 查询所有的用户
	 */
	@Select("select * from user")
	public List<User> findAllUser();

}

 UserService.java

@Service
public class UserService implements IUserService {
	@Autowired
	UserMapper userMapper;
	/**
	 * 通过用户id查询用户信息 
	 */
	@Override
	public User findById(Integer id) {
		return userMapper.findById(id);
	}
	
	/**
	 * 查询所有的用户
	 */
	@Override
	public List<User> findAllUser() {
		return userMapper.findAllUser();
	}

}

 Controller层

@Controller
public class UserController {
	@Autowired
	IUserService userService;
	
	@RequestMapping(value="/index")
	public String init(HttpServletRequest request) {
		String parameter = request.getParameter("id");
		User user = null;
		//if(parameter != null && parameter.trim().length() > 0) {
			//user = userService.findById(Integer.valueOf(parameter));
			user = userService.findById(1);
		//}
		request.setAttribute("user", user);
		return "/test";
		
	}
	
	/**
	 * 查询所有用户信息
	 */
	@RequestMapping(value="/allUser")
	public String getAllUser(HttpServletRequest request) {
		List<User> allUser = userService.findAllUser();
		if(allUser != null && allUser.size() > 0) {
			request.setAttribute("userList", allUser);
		}
		return "/users";
	}

}

 页面见附件,没什么大用处,只是作为测试demo

 

分享到:
评论

相关推荐

    基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip

    基于SpringMVC+Spring+MyBatis个人技术博客系统源码.zip 完整代码,可运行 项目描述 基于SSM实现的一个个人博客系统,适合初学SSM和个人博客制作的同学学习。有了这个源码,直接买了阿里云或腾讯服务器,就可以部署...

    基于SpringBoot+Spring+SpringMvc+Mybatis+Shiro+Redis 开发单点登录管理系统源码

    基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统 基于 SpringBoot + Spring + ...

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码.zip

    Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...

    基于 SpringBoot + Spring + SpringMvc+Mybatis +Layui 开发后台管理系统

    标题 "基于 SpringBoot + Spring + SpringMvc+Mybatis +Layui 开发后台管理系统" 描述了一个使用多种流行Java技术栈构建的管理系统的实例。这个系统整合了Spring Boot、Spring、Spring MVC、MyBatis以及Layui前端...

    完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip

    完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统(RESTful API+redis).zip 完善的Spring+SpringMVC+Mybatis+easyUI后台管理系统...

    maven+spring+springMVC+mybatis

    maven+spring+springMVC+mybatis 框架搭建 Maven 是一个优秀的项目管理和构建工具,Spring 是一个广泛使用的 Java 框架,SpringMVC 是基于 Spring 的一个 Web 框架,MyBatis 是一个持久层框架。在这个项目中,我们...

    基于Spring+SpringMVC+Mybatis架构的博客系统.zip

    基于Spring+SpringMVC+Mybatis架构的博客系统:博客管理、图表数据、日志分析、访问记录、图库管理、资源管理、友链通知等。良好的页面预加载,无限滚动加载,文章置顶,博主推荐等。提供 用户端+管理端 的整套系统...

    ZooKeeper+dubbo+springMvc+Mybatis+Mysql 例子

    ZooKeeper+dubbo+springMvc+Mybatis+Mysql实例,项目是由maven搭建的 整合Dubbo\spring\springMvc\Mybatis,整个压缩包中有两个项目分别是提供者和消费,启动方式是打成WAR形式放到tomcat中启动。

    SpringMvc+Spring+Mybatis+Maven+注解方式=整合

    "SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...

    springMvc+spring+mybatis+shiro+redis+ehcache后台管理系统.zip

    本后台管理系统,采用流行的框架springMvc+spring+mybatis+shiro+redis+ehcache开发,实现了权限管理(菜单权限、数据权限),solr全文搜索引擎,activiti工作流程引擎,cas单点登陆等功能,完善的代码生成器 后期还...

    SSM框架(IDEA+Spring+SpringMVC+Maven+Mybatis+MySQL).zip

    SSM框架是Java Web开发中常用的三大框架——Spring、SpringMVC和Mybatis的组合,它们协同工作,构建高效、灵活的Web应用。IDEA作为Java开发的主流集成开发环境,Maven则作为项目管理和构建工具,而MySQL是常见的关系...

    基于IDEA+Spring+SpringMVC+Mybatis+Redis+Shiro+Maven实现的教务管理系统+源码

    基于IDEA+Spring+SpringMVC+Mybatis+Redis+Shiro+Maven实现的教务管理系统+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于IDEA+Spring+SpringMVC+...

    基于spring+springMvc+mybatis 开发的企业门户网站

    基于spring+springMvc+mybatis 开发的企业门户网站基于spring+springMvc+mybatis 开发的企业门户网站基于spring+springMvc+mybatis 开发的企业门户网站基于spring+springMvc+mybatis 开发的企业门户网站基于spring+...

    基于SpringMVC+Spring3+Mybatis框架的OA项目.zip

    基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis框架的OA项目 基于SpringMVC+Spring3+Mybatis...

    SpringMvc+Spring+Mybatis+Maven整合.part10

    通过SpringMvc+Spring+Mybatis+Maven整合,学习用maven搭建框架

    maven+springmvc+redis+mybatis整合

    本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...

    dubbo+zookeeper+spring+springMVC+mybatis

    【标题】"dubbo+zookeeper+spring+springMVC+mybatis" 描述了一个基于这些技术构建的服务消费方与服务提供方的项目架构。在这个架构中,`Dubbo`是核心的服务框架,它负责服务的注册与发现;`Zookeeper`作为注册中心...

    基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip

    基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip ...

    基于SSM(Spring+SpringMVC+Mybatis)的新闻管理系统源码+数据库.zip

    基于SSM(Spring+SpringMVC+Mybatis)的新闻管理系统源码+数据库.zip 基于SSM(Spring+SpringMVC+Mybatis)的新闻管理系统源码+数据库.zip 基于SSM(Spring+SpringMVC+Mybatis)的新闻管理系统源码+数据库.zip 基于SSM...

    SpringMVC+Spring+Mybatis集成开发环境

    在IT行业中,SpringMVC、Spring和Mybatis是三大核心框架,它们的集成使用是Java Web开发中的常见实践。这个集成开发环境旨在提供一个高效、灵活的开发平台,以实现业务逻辑与数据访问的分离,提高代码的可维护性和可...

Global site tag (gtag.js) - Google Analytics