spring+springMvc+Mybatis简单案例超详细

上一篇文章介绍了spring+springMvc+Mybatis的搭建,地址https://blog.csdn.net/niqinge/article/details/79280204

现在来仔细介绍一个简单的案例。

在搭建完ssm框架之后,不懂搭建的朋友可以先看看我的上一篇文章地址https://blog.csdn.net/niqinge/article/details/79280204

1、先建立一些必要的文件夹,如下图,其中base文件是存放一些公共常用到的接口/类等,controller文件夹主要用来存放controller类,dao文件夹主要用来存放dao文件(包括dao层的xml文件的dao接口),model主要是用来存放一些实体类,service文件夹用来存放service层类,utils文件夹用来存放工具类;当然这些文件夹可以视情况而建。在webapp下新建一个testPages文件夹,用于存放我们的测试页面文件。


2、新建完文件夹后,我们开始新建文件。

2.1、在刚才新建的dao文件夹中 新建一个名为TMgtUserDAO的接口和一个名为TMgtUserDAO.xml的文件,两个名称要一样哦TMgtUserDAO.java的内容如下:

package manage.dao;

import manage.model.TMgtUser;

import java.util.Map;

public interface TMgtUserDAO {

    public TMgtUser login(Map<String, Object> map);

}
package manage.utils;

/**
 * Created by Novice on 2017/12/13.
 *
 * 静态常量
 */
public class ConstantSrting {

    public static String    STATUS_SUCCESS     = "S00001";  //成功状态
    public static String    STATUS_FAIL        = "S00002";  //失败状态
    public static String    STATUS_other       = "S00003";  //其他状态
}
TMgtUserDAO.xml的文件的内容如下所示:当然BaseResultMap
<?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="manage.dao.TMgtUserDAO">
    <resultMap id="BaseResultMap" type="manage.model.TMgtUser">
        <id column="USER_ID" jdbcType="VARCHAR" property="userId"/>
        <result column="USER_NAME" jdbcType="VARCHAR" property="userName"/>
        <result column="EN_NAME" jdbcType="VARCHAR" property="enName"/>
        <!--<result column="PASSWORD" jdbcType="VARCHAR" property="pw"/>  不查密码-->
        <result column="SEX" jdbcType="VARCHAR" property="sex"/>
        <result column="BIRTHDAY" jdbcType="VARCHAR" property="birthday"/>
        <result column="EMAIL" jdbcType="VARCHAR" property="email"/>
        <result column="PHONE" jdbcType="VARCHAR" property="phone"/>
        <result column="ADDR" jdbcType="VARCHAR" property="addr"/>
        <result column="HOME_TOWN" jdbcType="VARCHAR" property="homeTown"/>
        <result column="CHANESE_ID" jdbcType="VARCHAR" property="chaneseId"/>
        <result column="DEPT_ID" jdbcType="VARCHAR" property="deptId"/>
        <result column="JOB_ID" jdbcType="VARCHAR" property="jobId"/>
        <result column="USER_LEVEL" jdbcType="VARCHAR" property="userLevel"/>
        <result column="STATUS" jdbcType="VARCHAR" property="status"/>
        <result column="IMG" jdbcType="VARCHAR" property="img"/>
        <result column="CREATOR" jdbcType="VARCHAR" property="creator"/>
        <result column="CREATE_TIME" jdbcType="VARCHAR" property="createTime"/>
        <result column="MENDER" jdbcType="VARCHAR" property="mender"/>
        <result column="MEND_TIME" jdbcType="VARCHAR" property="mendTime"/>
        <re
  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Spring+SpringMVC+MyBatis框架技术整合是目前Java企业级应用开发中最为流行的技术组合之一。在这个技术组合中,Spring负责IoC和AOP,SpringMVC则是MVC框架,而MyBatis则是ORM框架。 下面是一个简单的整合案例: 1. 首先,我们需要创建一个Maven项目,并添加SpringSpringMVCMyBatis的依赖: ```xml <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.3.RELEASE</version> </dependency> <!-- Spring MVC --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.3.RELEASE</version> </dependency> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency> ``` 2. 接着,我们需要配置SpringSpringMVCMyBatis的配置文件。在这里,我们使用注解方式配置SpringSpringMVC,而使用XML方式配置MyBatisSpring配置文件: ```java @Configuration @ComponentScan(basePackages = "com.example") @EnableWebMvc public class AppConfig { // ... 配置其他Bean @Bean public DataSource dataSource() { // 配置数据源 return new DriverManagerDataSource(); } @Bean public SqlSessionFactory sqlSessionFactory() throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource()); // 配置MyBatis插件 Interceptor[] plugins = {pageHelper()}; sessionFactory.setPlugins(plugins); // 配置MyBatis映射文件 sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath*:mapper/*.xml")); return sessionFactory.getObject(); } @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer(); scannerConfigurer.setBasePackage("com.example.mapper"); scannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory"); return scannerConfigurer; } @Bean public PageInterceptor pageHelper() { PageInterceptor pageInterceptor = new PageInterceptor(); Properties properties = new Properties(); properties.setProperty("helperDialect", "mysql"); pageInterceptor.setProperties(properties); return pageInterceptor; } } ``` SpringMVC配置文件: ```java @Configuration public class WebConfig implements WebMvcConfigurer { // ... 配置其他内容 @Bean public ViewResolver viewResolver() { // 配置视图解析器 InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setPrefix("/WEB-INF/views/"); viewResolver.setSuffix(".jsp"); return viewResolver; } @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 配置静态资源 registry.addResourceHandler("/static/**") .addResourceLocations("/static/"); } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } } ``` MyBatis配置文件: ```xml <configuration> <typeAliases> <!-- 配置别名 --> <package name="com.example.model"/> </typeAliases> <mappers> <!-- 配置映射文件 --> <mapper resource="mapper/userMapper.xml"/> </mappers> <!-- 配置分页插件 --> <plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <property name="helperDialect" value="mysql"/> </plugin> </plugins> </configuration> ``` 3. 接着,我们需要创建Controller和Mapper接口以及对应的视图和映射文件。这里我们以用户管理为例: UserController.java: ```java @Controller @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @RequestMapping(value = "/list", method = RequestMethod.GET) public String list(Model model) { List<User> users = userService.getAllUsers(); model.addAttribute("users", users); return "user/list"; } @RequestMapping(value = "/add", method = RequestMethod.GET) public String addForm() { return "user/add"; } @RequestMapping(value = "/add", method = RequestMethod.POST) public String add(User user) { userService.addUser(user); return "redirect:/user/list"; } @RequestMapping(value = "/edit/{id}", method = RequestMethod.GET) public String editForm(@PathVariable("id") Long id, Model model) { User user = userService.getUserById(id); model.addAttribute("user", user); return "user/edit"; } @RequestMapping(value = "/edit", method = RequestMethod.POST) public String edit(User user) { userService.updateUser(user); return "redirect:/user/list"; } @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET) public String delete(@PathVariable("id") Long id) { userService.deleteUser(id); return "redirect:/user/list"; } } ``` UserMapper.java: ```java public interface UserMapper { List<User> getAllUsers(); User getUserById(Long id); void addUser(User user); void updateUser(User user); void deleteUser(Long id); } ``` userMapper.xml: ```xml <mapper namespace="com.example.mapper.UserMapper"> <resultMap id="userMap" type="com.example.model.User"> <id property="id" column="id" /> <result property="name" column="name" /> <result property="age" column="age" /> </resultMap> <select id="getAllUsers" resultMap="userMap"> SELECT * FROM user </select> <select id="getUserById" resultMap="userMap"> SELECT * FROM user WHERE id = #{id} </select> <insert id="addUser" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user(name, age) VALUES(#{name}, #{age}) </insert> <update id="updateUser"> UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id} </update> <delete id="deleteUser"> DELETE FROM user WHERE id = #{id} </delete> </mapper> ``` 4. 最后,我们需要配置web.xml文件,启动Spring容器和SpringMVC DispatcherServlet。 web.xml: ```xml <web-app> <display-name>MyApp</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/config/spring/appConfig.java</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/config/spring/webConfig.java</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> ``` 这样,我们就完成了Spring+SpringMVC+MyBatis框架技术的整合。在实际开发中,我们可以根据需求进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你不懂程序员的Bug

打赏点吧, 不容易啊

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值