SSM框架快速整合实例——学生查询
<h1 id="一、快速准备">一、快速准备 SSM 框架即 Spring 框架、SpringMVC 框架、MyBatis 框架,关于这几个框架的基础和入门程序,我前面已经写过几篇文章作为基础和入门介绍了。这里再简单的介绍一下: 1.Spring Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括?IoC (控制反转)?和?A面向切面编程)。Spring框架是个轻量级的Java EE框架,所谓轻量级,是指不依赖于容器就能运行的。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
作用于web层,相当于controller,与struts中的action一样,都是用来处理用户请求的。同时,相比于struts2来说,更加细粒度,它是基于方法层面的,而struts是基于类层面的。Spring?MVC?分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
MyBatis?本是apache的一个开源项目iBatis,?2010年这个项目由apache?software?foundation?迁移到了google?code,并且改名为MyBatis?。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 如果已经陆续学习过 SSM 框架相关知识的,可以忽略掉这一部分,直接看下面的内容。 鉴于 jar 包依赖于管理的方便,我们使用 Maven 进行项目的管理和开发,所以这一步我们使用 IDEA 快速创建一个 Maven 项目,关于如何使用 IDEA 快速创建 Maven 项目,这里就不进行过多赘述了,大家可以参考下面这篇文章: Maven 项目创建完成后,快速打开并配置? 4.0.0
打开? 在? <!-- 加载资源文件 -->
<context:property-placeholder location="classpath:db.properties"/>
<!-- 配置 C3P0 数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="user" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
<property name="driverClass" value="${jdbc.driverClass}"></property>
<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
<property name="initialPoolSize" value="5"></property>
<property name="maxPoolSize" value="10"></property>
</bean>
<!-- 配置 MyBatis SqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 指定 MyBatis 数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 指定 MyBatis mapper 映射文件位置 -->
<property name="mapperLocations" value="classpath:com/ssm/example/dao/*.xml"/>
<!-- 指定 MyBatis 全局配置文件的位置 -->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<!-- 扫描 MyBatis 的 mapper 接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--扫描所有 dao 接口,加入到 IOC 容器中 -->
<property name="basePackage" value="com.ssm.example.dao"/>
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!-- 指定数据源 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 配置事务增强 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 配置所有方法都是事务方法 -->
<tx:method name="*"/>
<tx:method name="get*" read-only="true"/>
</tx:attributes>
</tx:advice>
<!-- 开启基于注解的事务 -->
<aop:config>
<!-- 切入点表达式 -->
<aop:pointcut expression="execution(* com.ssm.example.service.impl.*.*(..))" id="txPoint"/>
<!-- 配置事务增强 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>
在? 在?
在? <!-- 启用 SpringMVC 注解驱动 -->
<mvc:annotation-driven />
<!-- 扫描业务代码 -->
<context:component-scan base-package="com.ssm.example"></context:component-scan>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
新建 MySQL 数据库,快速新建数据表? INSERT INTO
student VALUES (1,'孔乙己','男','kongyiji@163.com','13509856897','计算机1班');INSERT INTO student VALUES (2,'阿强','女','aqiang@126.com','12345678909','软件工程');INSERT INTO student VALUES (3,'阿福','afu@12345.com','13657898762','数学专业');INSERT INTO student VALUES (4,'阿霞','12345@qq.com','12378645987','英语专业');INSERT INTO student VALUES (5,'指南者','compassblog@gmail.com','13587690873','打杂搬砖专业');
SET FOREIGN_KEY_CHECKS = 1; 快速新建实体类? public class Student {
} 快速新建? import java.util.List;
import com.ssm.example.entity.Student; import com.ssm.example.service.StudentService; @Controller
} 快速新建? import java.util.List;
import com.ssm.example.entity.Student; public interface StudentService { 快速新建? import java.util.List;
import com.ssm.example.dao.StudentDAO; @Service
} 快速新建 dao 接口? import java.util.List;
import com.ssm.example.entity.Student; public interface StudentDAO { 快速新建 dao 接口代理文件? <mapper namespace="com.ssm.example.dao.StudentDAO">
<resultMap type="Student" id="studentMap">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="gender" column="gender"/>
<result property="email" column="email"/>
<result property="tel" column="tel"/>
<result property="cla" column="cla"/>
</resultMap>
<select id="findAll" resultMap="studentMap">
select * from student
</select>
</mapper>
快速新建访问页面?
<%@ page isELIgnored="false" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
学生列表
SSM 框架快速整合实例--学生查询
编号 |
姓名 |
性别 |
电子邮箱 |
联系电话 |
班级 |
操作 |
<td>
<button class="btn btn-primary btn-sm edit_btn">
<span class="glyphicon glyphicon-pencil">编辑</span>
</button>??
<button class="btn btn-danger btn-sm delete_btn">
<span class="glyphicon glyphicon-trash">删除</span>
</button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</div>
到这里,SSM 框架整合程序就已经书写完毕,部署并启动 Tomcat 服务器,然后到浏览器地址栏测试,结果如下: 项目源码地址:(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |