spring,springmvc,mybatis集成实例--增删查改

来源:互联网 发布:优化后人员配制方案 编辑:程序博客网 时间:2024/06/05 15:35

spring,springmvc,mybatis集成实例–增删查改

这里写图片描述

相比于ssh,ssm框架更加简洁,轻巧,并且sql语句和代码耦合更低。本文给出一个spring,springmvc,mybatits集成-增删查改示例的完整代码,

完整代码下载链接:

http://download.csdn.net/download/yhhyhhyhhyhh/9965332

环境

eclipse4.7.0,jdk1.8,maven,spring4.3.0,mybatis3.2.5,mysql。

1.配置

ssm框架开发的一般的步骤是:

  1. 设计好数据表
  2. 使用自动化构建插件生成model实体类,dao类(mybatis与hibernate不同,采用mapper的话不需要dao实现类),mapper.xml文件
  3. 工程配置
  4. 编写service(模块测试)
  5. 编写controller
  6. 前端页面测试

本实例按照上述步骤进行。

1.1数据准备

(1)建库:create database hms

(2)本实例有1个数据表:employeer,代码中包含1个表的sql文件,可以直接导入使用。
下载employeer的sql文件

1.2generatorConfig工具自动生成model,mapper.xml,dao

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="D:\Soft\mysql-connector-java-5.1.37.jar" />    <context id="DB2Tables" targetRuntime="MyBatis3">        <commentGenerator>            <property name="suppressDate" value="true" />            <!-- 是否去除自动生成的注释 true:是 : false:否 -->            <property name="suppressAllComments" value="true" />        </commentGenerator>        <!--数据库链接URL,用户名、密码 -->        <jdbcConnection driverClass="com.mysql.jdbc.Driver"            connectionURL="jdbc:mysql://localhost/hms" userId="root" password="root">        </jdbcConnection>        <javaTypeResolver>            <property name="forceBigDecimals" value="false" />        </javaTypeResolver>        <!-- 生成模型的包名和位置 -->        <javaModelGenerator targetPackage="com.ct.rd.bg.model"            targetProject="test-mybatis">            <property name="enableSubPackages" value="true" />            <property name="trimStrings" value="true" />        </javaModelGenerator>        <!-- 生成映射文件的包名和位置 -->        <sqlMapGenerator targetPackage="com.ct.rd.bg.model"            targetProject="test-mybatis">            <property name="enableSubPackages" value="true" />        </sqlMapGenerator>        <!-- 生成DAO的包名和位置 -->        <javaClientGenerator type="XMLMAPPER"            targetPackage="com.ct.rd.bg.dao" targetProject="test-mybatis">            <property name="enableSubPackages" value="true" />        </javaClientGenerator>        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名 -->        <table tableName="employeer" domainObjectName="Employeer"            enableCountByExample="false" enableUpdateByExample="false"            enableDeleteByExample="false" enableSelectByExample="false"            selectByExampleQueryId="false"></table>    </context></generatorConfiguration>  

1.3工程配置

主要是web.xml,springContext.xml的配置。该实例工程在mapper.xml中开启了二级缓存。

springContext.xml文件:

spring配置主要包括,如下代码块部分:

  1. 配置数据源
  2. 配置sqlsessionFactory
  3. 指定 DAO接口所在包名
  4. 注解扫描包(包括service,controller包),事务管理配置
  5. 视图页面配置
    <!-- 0.1spring的属性加载器,加载properties文件中的属性 -->    <bean id="propertyConfigurer"        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="location">            <value>classpath:jdbc.properties</value>        </property>    </bean>    <!-- 0.2配置数据源(dbcp) -->    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">        <property name="driverClassName">            <value>${jdbc.driver}</value>        </property>        <property name="url">            <value>${jdbc.url}</value>        </property>        <property name="username">            <value>${jdbc.username}</value>        </property>        <property name="password">            <value>${jdbc.password}</value>        </property>        <!--数据库详细配置见工程文件 -->    </bean>    <!-- 1.配置sqlsessionFactory -->    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <!-- 扫描mapping.xml -->        <property name="mapperLocations" value="classpath:com/ct/rd/bg/model/*.xml" />    </bean>    <!--2 DAO接口所在包名,Spring会自动查找其下的类  -->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">        <property name="basePackage" value="com.ct.rd.bg.dao" />        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />    </bean>    <!-- 3.1(事务管理) -->    <bean id="transactionManager"        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <!-- 注入数据库连接池 -->        <property name="dataSource" ref="dataSource" />    </bean>    <!-- 3.2配置基于注解的声明式事务 -->    <tx:annotation-driven transaction-manager="transactionManager" />    <!-- 4.1扫描该包及其子包的srrvice ,controller -->    <context:component-scan base-package=" com.ct.rd.bg" />    <!-- 4.2视图页面配置 -->    <bean        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/views/" />        <property name="suffix" value=".jsp" />    </bean></beans>

2.测试

2.1工程

工程目录,分三层。

这里写图片描述

2.2简单测试

增删查改测试:

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述
二级缓存测试:
这里写图片描述

阅读全文
0 0
原创粉丝点击