依赖库:
gradle + spring4 + springmvc4 + mybatis3 + driud1 + logback1
目录结构:
build.gradle
apply plugin: 'java' apply plugin: 'war' apply plugin: 'eclipse-wtp' apply plugin: 'jetty' // JDK 6 sourceCompatibility = 1.6 targetCompatibility = 1.6 repositories { mavenLocal() mavenCentral() } dependencies { compile 'ch.qos.logback:logback-classic:1.1.3' compile 'org.springframework:spring-webmvc:4.1.6.RELEASE' compile 'org.springframework:spring-tx:4.1.6.RELEASE' compile 'org.springframework:spring-jdbc:4.1.6.RELEASE' compile 'org.springframework:spring-test:4.1.6.RELEASE' compile 'javax.servlet:jstl:1.2' compile 'com.alibaba:druid:1.0.2' compile 'mysql:mysql-connector-java:5.1.25' compile 'org.mybatis:mybatis:3.2.2' compile 'org.mybatis:mybatis-spring:1.2.0' compile 'org.aspectj:aspectjweaver:1.7.2' compile 'org.freemarker:freemarker-gae:2.3.23' } // Embeded Jetty for testing jettyRun{ contextPath = "spring4" httpPort = 8080 } jettyRunWar{ contextPath = "spring4" httpPort = 8080 } //For Eclipse IDE only eclipse { wtp { component { //define context path, default to project folder name contextPath = 'spring4' } } }
spring-core-config.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 包扫描 --> <context:component-scan base-package="com.business.dao,com.business.service" /> <!-- 1.加载数据库配置的属性文件 --> <context:property-placeholder location="classpath:jdbc.properties"/> <!-- 2.数据源dataSource DRUID --> <!-- 配置数据源 --> <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <!-- 初始化连接大小 --> <property name="initialSize" value="0" /> <!-- 连接池最大使用连接数量 --> <property name="maxActive" value="20" /> <!-- 连接池最大空闲 --> <property name="maxIdle" value="20" /> <!-- 连接池最小空闲 --> <property name="minIdle" value="0" /> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="60000" /> <!-- <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> --> <!-- <property name="validationQuery" value="${validationQuery}" /> --> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="true" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="25200000" /> <!-- 打开removeAbandoned功能 --> <property name="removeAbandoned" value="true" /> <!-- 1800秒,也就是30分钟 --> <property name="removeAbandonedTimeout" value="1800" /> <!-- 关闭abanded连接时输出错误日志 --> <property name="logAbandoned" value="true" /> <!-- 监控数据库 --> <!-- <property name="filters" value="stat" /> --> <property name="filters" value="mergeStat" /> </bean> <!-- 3.SessionFactory--> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 整合mybatis,包扫描 mapper文件 --> <property name="configLocation" value="classpath:sqlMapConfig.xml"/> <property name="mapperLocations" value="classpath:com/business/mapper/*.xml"/> </bean> <!-- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.taurus.persistence" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> --> <!-- 4. 事务 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="find*" read-only="true"/> <tx:method name="get*" read-only="true"/> <tx:method name="view*" read-only="true"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut expression="execution(* com.business.service.*.*(..))" id="txPointcut"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointcut"/> </aop:config> </beans>
spring-mvc-config.xml
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" 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 "> <context:component-scan base-package="com.business.controller" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/views/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <mvc:resources mapping="/resources/**" location="/resources/" /> <mvc:annotation-driven /> </beans>
web.xml
<web-app 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_2_5.xsd" version="2.5"> <display-name>BusinessOnline</display-name> <description>Spring MVC web application</description> <!-- For web context --> <servlet> <servlet-name>springmvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc-dispatcher</servlet-name> <url-pattern>*.action</url-pattern> </servlet-mapping> <!-- For root context --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-core-config.xml</param-value> </context-param> <!-- 编码过滤器,解决中文乱码 --> <filter> <filter-name>SpringEncoding</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> </filter> <filter-mapping> <filter-name>SpringEncoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.classic.PatternLayout"> <Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n </Pattern> </layout> </appender> <logger name="org.springframework" level="debug" additivity="false"> <appender-ref ref="STDOUT" /> </logger> <logger name="com.business" level="debug" additivity="false"> <appender-ref ref="STDOUT" /> </logger> <root level="debug"> <appender-ref ref="STDOUT" /> </root> </configuration>
jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/student?characterEncoding=utf-8 jdbc.username=root jdbc.password=root #jdbc.driverClassName=oracle.jdbc.driver.OracleDriver #jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl #jdbc.username=scott #jdbc.password=tiger
sqlMapConfig.xm
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> </configuration>
jar:
实体类:
package com.business.domain; public class Student { private int id; private String username; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
dao
BaseDao:
package com.business.dao; import java.io.Serializable; import java.util.List; import java.util.Map; /** * 泛型类 基础的dao接口 * @author xiaoxuan * * @param <T> */ public interface BaseDao<T> { // public List<T> findPage(Page page); //分页查询 public List<T> find(Map paraMap); //带条件查询,条件可以为null,既没有条件;返回list对象集合 public T get(Serializable id); //只查询一个,常用于修改 public void insert(T entity); //插入,用实体作为参数 public void update(T entity); //修改,用实体作为参数 public void deleteById(Serializable id); //按id删除,删除一条;支持整数型和字符串类型ID public void delete(Serializable[] ids); //批量删除;支持整数型和字符串类型ID }
StudentDao:
package com.business.dao; import com.business.domain.Student; public interface StudentDao extends BaseDao<Student> { }
dao实现
相关推荐
3. **MyBatis集成**:学习如何配置MyBatis的SqlSessionFactory和SqlSession,创建Mapper接口,编写XML映射文件,以及如何在Spring中注入Mapper实例以执行SQL操作。 4. **数据库连接**:根据描述,需要修改jdbc的...
在本项目中,MyBatis作为数据访问层,与MySQL数据库进行交互,执行CRUD(创建、读取、更新、删除)操作,实现对酒店管理系统的数据操作。 4. **MySQL数据库**:MySQL是一款广泛使用的开源关系型数据库管理系统,...
综上所述,"spring+springmvc+mybatis+mysql"实现的多模块聚合项目是一个典型的Java Web开发实践,它涵盖了从数据库操作到Web交互,再到模块化设计的多个重要层面。对于初学者来说,理解并掌握这个项目中的各项技术...
- 使用Spring Data JPA或MyBatis-Plus增强ORM能力:这些工具提供了更高级的CRUD操作,减轻开发负担。 - 使用自动化构建工具(如Maven或Gradle)管理依赖,确保版本兼容性。 SSM整合使得Java Web开发更加高效,...
3. **依赖管理**:在pom.xml(Maven)或build.gradle(Gradle)文件中添加Spring MVC和MyBatis的依赖,包括Spring Web、Spring Context、Spring JDBC、MyBatis、MyBatis-Spring等。 4. **配置Spring**: - 创建`...
【标题】中的“基于SSM和SpringBoot+mybatis的宿舍管理系统”指的是一个结合了Spring、SpringMVC、SpringBoot和MyBatis四个主要技术框架的宿舍管理软件项目。SSM是Spring、SpringMVC和MyBatis的缩写,它们是Java开发...
【SpringMVC+iBatis 实现的宿舍管理系统详解】 SpringMVC 和 iBatis 是 ...在实际开发中,还可以进一步优化,例如引入 MyBatis Plus 进行更高效的 CRUD 操作,或者使用 Spring Boot 进行快速开发,减少配置工作。
在本项目中,MyBatis与Spring整合,通过Mapper接口实现了对数据库的CRUD(创建、读取、更新、删除)操作,提供了灵活的数据访问能力。 4. 客户信息管理:系统的核心功能是对客户信息进行管理,包括客户的基本信息...
SSM框架整合指的是将Spring、SpringMVC和MyBatis三个主流的Java开发框架集成到一个项目中的过程。这三个框架分别负责不同的职责:Spring作为应用的容器,管理对象的生命周期和依赖;SpringMVC处理HTTP请求和响应,是...
SSM实现班级管理系统大作业是一份基于Java技术栈的软件开发项目,主要采用了Spring、SpringMVC和MyBatis三个框架的集成,旨在提供一套完整的班级管理解决方案。这个项目不仅包含源代码,还可能包括数据库设计、配置...
SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java开发Web应用时常用的三大组件。这个框架组合提供了强大的模型-视图-控制器(MVC)架构支持,以及数据库操作的能力,极大地提高了开发效率。下面将详细...
MyBatis则作为持久层框架,负责数据库操作,实现了ORM(对象关系映射),方便数据库的CRUD操作。 【标签】 1. **毕业设计**:表明这是一个学生在毕业时完成的项目,通常涵盖了课程所学的主要技术和概念,是理论知识...
SSM洗衣店管理系统是一个典型的Java Web项目,使用了Spring、SpringMVC和MyBatis三个框架的集成,也就是我们常说的SSM框架。这个系统可能是为帮助洗衣店进行日常运营和管理而设计的,比如记录订单、管理客户信息、...
4. "ssm":SSM是Spring、SpringMVC和MyBatis的缩写,通常用于构建Java Web应用。虽然标题没有明确提及SSM,但在SpringBoot项目中,可能会看到这些组件的影子,例如使用MyBatis作为持久层框架。 5. "jsp":JSP(Java...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java Web开发框架组合,广泛应用于企业级应用系统。本项目“基于SSM的兴趣班和延时班管理系统源码”是针对教育管理领域的一个实例,适合毕业设计或者学习SSM框架的...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,用于实现高效、灵活且可扩展的企业级应用。在这个"ssm增删改查"项目中,我们将探讨SSM框架如何实现基本的数据操作:增、删、改、查。以下是...
这是一个基于Java技术栈的课程设计项目,主要使用了Spring、SpringMVC和MyBatis(SSM)框架来构建一个科研成果申报管理系统。这个系统旨在帮助科研机构或高校管理科研项目的申报过程,包括项目的创建、审核、跟踪和...
【ssm项目源码】学校维修管理系统的源代码是一套基于Spring、SpringMVC和MyBatis(简称SSM)的Java Web应用框架实现的系统。这个系统的主要目的是为学校的后勤管理部门提供一个高效、便捷的报修管理和跟踪平台,帮助...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,常用于构建企业级应用。本项目“基于SSM的学生成绩管理系统源码”提供了一个全面的示例,可以帮助学习者理解如何在实际开发中运用这三个框架。...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,广泛应用于企业级应用系统,包括客户关系管理系统(CRM)。这个“ssm的客户关系管理系统.rar”压缩包很可能包含了基于SSM框架构建的CRM系统的...