资讯专栏INFORMATION COLUMN

Spring+Mybatis脚手架的使用

张率功 / 634人阅读

摘要:地址简单说明这是一个的脚手架项目,方便老鸟使用,新手学习。然后我们在中加入这张表里还有很多配置,你可以直接使用我的默认配置,往上面添加即可。结语当然我这里很多细节没有讲到,仅仅是简单的使用了一下,希望各位有心的读者可以自己动手搭建一下。

Github地址

https://github.com/1994/ssm-scaffold.git

简单说明

这是一个Spring4+Mybatis3的脚手架项目,方便老鸟使用,新手学习。出于个人爱好,我还添加了其他的依赖,以下是全部依赖:

  
        3.8.1
        4.2.1.RELEASE
        3.3.0
        1.2.3
        1.0.15
        1.2.7
        5.1.6
        1.3.2
        4.0.1
        1.7.12
        1.2.17
    

在一些我觉得很有必要的地方我都加上了中文注释。

安装

推荐使用IDEA:

clone 完后会看到这样的目录结构

修改配置文件

项目的配置文件均放在 src/main/resources下

applicationContext.xml:Spring 配置文件

generator.properties:Mybatis-generator 配置文件

generatorConfig.xml:Mybatis-generator 配置文件

jdbc.properties:jdbc配置文件

log4j.properties:log4j 配置文件

mvc-dispatcher-servlet.xml:SpringMVC配置文件

主要需要修改的是

generator.properties:Mybatis-generator 配置文件

generatorConfig.xml:Mybatis-generator 配置文件

jdbc.properties:jdbc配置文件

applicationContext.xml 以下地方需要注意:

//Spring注解自动扫描的包

//Mybatis自动配置Mapper的包,也就是Mybatis生成xxMapper所在的包

        
    

如果你修改了相关的package,则上面需要修改,同理在mvc-dispatcher-servlet.xml中也有action:


开始

准备一张表user表:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `userid` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  PRIMARY KEY (`userid`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
使用mybatis-generator自动生成

默认情况下,IDEA能自动识别出Maven的mybatis generator插件,但我们还需要进行一点修改
在IDEA中,Run->Edit Configurations 修改Maven的选项:

添加上一个参数-e,用于在控制台打印错误信息。
然后我们在generatorConfig.xml中加入这张表:

   

generatorConfig.xml里还有很多配置,你可以直接使用我的默认配置,往上面添加table即可。
相关配置说明可以看这篇文章。
这样我们就能点击Run了,顺利的话就能看到自动生成的代码。

编写service

Myabtis-generator会自动生成UserMapper.java,User,UserMapper.xml
针对User这张表已经自动生成了如下方法:
int deleteByPrimaryKey(Integer userid);

int insert(User record);

int insertSelective(User record);

User selectByPrimaryKey(Integer userid);

int updateByPrimaryKeySelective(User record);

int updateByPrimaryKey(User record);

如果上面的代码已经能满足你的需求了,那就什么都不用写。如果要增加自己的功能,比如上面没有的查询全部的User,我们所要做的便是修改UserMapper.xml,在UserMapper.java增加相应接口即可。
UserMapper.xml中增加:

 

UserMapper.java中增加一个与ID同名的接口:

List selectAll();

编写一个service测试一下,我们只要依赖注意一个UserMapper,就能使用相应的功能了:

package service;

import com.github.pagehelper.PageHelper;
import dao.UserMapper;
import entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;


@Service
public class UserService {

    private UserMapper userMapper;

    @Autowired
    public void setUserMapper(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    public User getUser(Integer userid){
        return userMapper.selectByPrimaryKey(userid);
    }

    public List getUsers(int pageNum, int pageSize){
        PageHelper.startPage(pageNum, pageSize);
        return userMapper.selectAll();
    }
}

我们知道,在真实的场景中,一次性获取全部用户显然是不现实的,我们往往要进行分页操作。这里我们用到了PageHelper这个Mybatis分页插件,详细的文档说明请看这里。

编写action

我们写个简单的action测试一下,json方面我使用了fastjson,配置在mvc-dispatcher-servlet.xml里,默认解决了IE下json提示下载的问题,其他更多的配置请看这里。

package action;

import entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import service.UserService;

import java.util.List;


@Controller
@RequestMapping("/user")
public class DemoAction {

    private UserService userService;

    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    @RequestMapping("/get")
    @ResponseBody
    public List test() {
        return userService.getUsers(1,10);
    }

}
结语

当然我这里很多细节没有讲到,仅仅是简单的使用了一下,希望各位有心的读者可以自己动手搭建一下。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64672.html

相关文章

  • 【Java】基于Maven搭建Spring+SpringMVC+Mybatis框架

    摘要:关于的配置,可以参考这篇文章的第一个小节配置模板引擎搭什么搭直接用脚手架不行吗下载就能用下载就能用下载就能用码云咳咳,开个玩笑,如果本着学习态度的话,那就慢慢啃吧搭建空的项目使用搭建基本的空项目填写和,,选择项目的地址,在新的窗口打开最 关于springMVC的配置,可以参考这篇文章的第一个小节:【java】intellij idea SpringMVC 配置FreeMarker模板引...

    edagarli 评论0 收藏0
  • #yyds干货盘点# Spring Boot前世今生以及它和Spring Cloud关系详解。

    摘要:经过年时间的发展,到目前为止,最新稳定版为版本。的发展刚出生的时候,引起了很多开源社区的关注,并且也有个人和企业开始尝试使用。通过项目搭建过程来对比的差异和优势。当然它的作用不仅于此,后续会逐步揭开它的真实面目。而和就相当于当年的和的关系。 要了解Spring Boot的发展背景,还得从2004年Spring ...

    番茄西红柿 评论0 收藏2637
  • Java学习路线总结,搬砖工逆袭Java架构师(全网最强)

    摘要:哪吒社区技能树打卡打卡贴函数式接口简介领域优质创作者哪吒公众号作者架构师奋斗者扫描主页左侧二维码,加入群聊,一起学习一起进步欢迎点赞收藏留言前情提要无意间听到领导们的谈话,现在公司的现状是码农太多,但能独立带队的人太少,简而言之,不缺干 ? 哪吒社区Java技能树打卡 【打卡贴 day2...

    Scorpion 评论0 收藏0
  • watchdog-framework基于SpringBoot+Shiro+Mybatis等开发企业

    摘要:介绍基于等开发的企业级管理系统快速开发脚手架,拥有角色用户资源管理同时数据更新时关联的用户相应的权限也会实时更新,并且此项目会进行持续更新升级,欢迎使用,若对你有帮助请点击上方的。 介绍 watchdog-framework基于SpringBoot+Shiro+Mybatis+Mybatis-Plus+HikariCP+Redis+Vue+iView等开发的企业级管理系统快速开发脚手架...

    caiyongji 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<