batocera中文整合包_ssm整合开发项目实践(上)

引言

ssm(Spring+Springmvc+Mybatis)整合开发在java开发中是目前比较火的框架整合开发,在此用这三个框架整合开发了一个小项目,本项目已开源,源码已经发布到github仓库,大家可以结合源代码阅读本文,由于个人水平有限,如果有错误的地方,还请指出,大家相互学习,一起进步。

通过本项目我能学习到什么

  • ssm整合环境搭建与使用
  • 分页的实现
  • 前端框架Bootstrap的使用
  • 数据校验
  • ajax和Jquery的使用
  • MyBatis的逆向工程MyBatis Generator使用

项目实现的功能

实现对数据库中的用户管理,如新增、删除、批量删除、修改、查询等

开发环境

  • InteliJ IDEA 2019.2.4
  • JDK 1.8
  • Maven 3.6.3
  • Tomcat 9.0.22

基础环境搭建

1. 创建数据库与数据表

//创建数据库usersCREATE DATABASE users;//切换至users数据库USE users;//创建用户类型表CREATE TABLE `tbl_utype` (  `utype_id` int(11) NOT NULL AUTO_INCREMENT,  `utype_name` varchar(255)  NOT NULL,  PRIMARY KEY (`utype_id`)) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;//创建用户表CREATE TABLE `tbl_user` (  `user_id` int(11) NOT NULL AUTO_INCREMENT,  `user_name` varchar(255)  NOT NULL,  `gender` char(1) ,  `email` varchar(255) ,  `ut_id` int(11) ,  PRIMARY KEY (`user_id`),  KEY `ut_id` (`ut_id`),  CONSTRAINT `tbl_user_ibfk_1` FOREIGN KEY (`ut_id`) REFERENCES `tbl_utype` (`utype_id`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

2. 创建项目搭建环境

  • 创建项目
    打开idea新建maven工程的mave-archetype-webapp模板,项目名为UserManagement。
  • 在pom.xml的properties标签内引入以下依赖版本控制
5.2.1.RELEASE   1.9.2   1.6.61.2.175.1.63.4.5   1.6.8   4.12
  • 在pom.xml的dependencies标签内引入项目所有依赖jar包
    org.hibernate.validator     hibernate-validator     6.1.0.Finalcom.fasterxml.jackson.core     jackson-databind     2.10.0com.github.pagehelper     pagehelper     5.1.10org.mybatis.generator     mybatis-generator-core     1.3.0org.springframework     spring-context     ${spring.version}org.springframework     spring-aop     ${spring.version}org.aspectj     aspectjweaver     ${aspectj.version}org.springframework     spring-web     ${spring.version}org.springframework     spring-webmvc     ${spring.version}org.springframework     spring-test     ${spring.version}org.springframework     spring-jdbc     ${spring.version}org.springframework     spring-tx     ${spring.version}javax.servlet     servlet-api     2.5providedjavax.servlet.jsp     jsp-api     2.0providedjstl     jstl     1.2org.mybatis     mybatis     ${mybatis.version}org.mybatis     mybatis-spring     1.3.0mysql     mysql-connector-java     ${mysql.version}c3p0     c3p0     0.9.1.2jarcompilejunit     junit     ${junit.version}compile

3. MyBatis的逆向工程MyBatis Generator使用

  • 使用mybatis的逆向工程生成相应的bean、mapper、mapperdao
    1.编写mbg.xml配置文件,配置自动生成的相关参数,具体如下
<?xml version="1.0" encoding="UTF-8"?>

2.编写执行逆向工程的测试类,并执行,此时项目目录会生成相应的文件,代码实现如下

    public static void main(String[] arg) throws Exception {        List warnings = new ArrayList();        boolean overwrite = true;        File configFile = new File("mbg.xml");        ConfigurationParser cp = new ConfigurationParser(warnings);        Configuration config = cp.parseConfiguration(configFile);        DefaultShellCallback callback = new DefaultShellCallback(overwrite);        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);        myBatisGenerator.generate(null);    }
  • Spring整合SpringMVC,需要涉及到配置文件web.xml、springmvc.xml、applicationconfig.xml
  • 配置web.xml,在web.xml中配置前端控制、处理中文乱码过滤器等。具体如下
    characterEncodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceRequestEncodingtrueforceResponseEncodingtruecharacterEncodingFilter/*httpPutFormContentFilterorg.springframework.web.filter.HttpPutFormContentFilterhttpPutFormContentFilter/*contextConfigLocationclasspath:applicationconfig.xmlorg.springframework.web.context.ContextLoaderListenerdispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc.xml1dispatcherServlet/
  • 配置springmvc.xml具体如下
<?xml version="1.0" encoding="UTF-8"?>
  • Spring整合MyBatis只需Spring的配置文件applicationconfig.xml中完成MyBatis的相关配置,配置数据库连接池、SqSessionFactory工厂Bean,使用MapperScannerConfigurer来配置Dao接口所在的包。具体配置如下
   

4.测试ssm环境

  • 创建service类文件TestService.java、controller文件TestController.java、测试请求页面testssm.jsp与成功跳转的页面testsuccess.jsp。
  • 如果通过testssm.jsp页面提交的请求成功跳转到testsuccess.jsp页面并显示从数据库查询到的值,则会表示环境搭建成功。
  • 文件代码内容可以查看源码。在此不再给出。

分页实现

  • 本例使用pagehelper对查询到的数据进行分布显示
  • 引入pagehelper所依赖的jar包,由于刚开始已经引入项目所需jar,故不需再重复引入
  • 在applicationconfig.xml文件中的sqlSessionFactory的bean中加载分页配置
  • 使用PageHelper的startPage(pageNum,pageSize)方法进行分页,pageNum为第几页面开始,pageSize为一页有多少条记录
  • 使用PageInfo封装查询返回的结果,并设置连续显示页面的导航页数

使用前端框架bootstrap搭建用户列表页面

  • 在webapp目录下创建static目录用于存放项目的静态资源,把下载好的bootstrap框架代码拷贝到static下
  • 在static目录下创建js目录,把Jquery也拷贝到js目录中
  • 在index.jsp中引入bootstrap的相关资源与jquery
  • 编写index.jsp显示用户列表的前端相关代码,主要代码如下
 

用户列表

新增 删除
用户ID 用户名 姓别 邮箱 用户类型 操作 1 test1 男 test@qq.com 普通用户 编辑 删除
当前第1页,总1000页,总10000记录
« 1 2 3 4 5 »
  • 这个列表页面的数据为写死的,下面使用ajax发请求到服务器获取用户列表数据动态显示到列表页。

实现用户列表页面数据显示

  • 编写控制器类的查询请求处理方法,主要实现代码如下:
 /**     * 查询所有用户信息,返回以json格式返回     * @param pn     * @return     */    @RequestMapping(value = "/user",method = GET)    @ResponseBody    public Msg getusers(@RequestParam(value = "pn",defaultValue = "1") int pn){        //开始分页每页记录条数为5        PageHelper.startPage(pn,5);        //查询所有用户记录        List list = userService.getUsers();        //封装查询结果        PageInfo pageInfo = new PageInfo(list,5);        Msg msg = Msg.success().add("pageinfo",pageInfo);        return msg;    }
  • 在用户列表页面直接发送ajax请求获取到用户信息并显示,具体代码如下
    

用户列表

新增 删除
用户ID 用户名 姓别 邮箱 用户类型 操作
« 1 2 3 4 5 »
  • 员工列表效果图如下
0a6e3d565c9a362e59181ed5abea9908.png
  • 至此通过ajax发送请求获取用户信息实现的用户列表页面已经基本完成,为缩短文章篇幅,改善阅读体验,项目的分页条相关实现,新增、删除用户等功能将在后续文章中推出,请关注后续的文章。本项目的源代码已发到github仓库,建议结合源代码阅读本文,项目源码在github上搜:pkx0128/UserManagement
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值