javaweb项目:用户(登录和注销)实现 SSM框架(mybatis-generator自动生成代码)

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: javaweb项目:用户(登录和注销)实现 SSM框架(mybatis-generator自动生成代码)

SSM框架的搭建环境(Spring,SpringMVC,Mybatis)

使用工具:maven、idea、tomcat用的是8、jdk版本1.8

一、整个项目的结构:

b46a68ef1a479629228f1a815311829d_70.png

用户模块流程

pom.xml -> web.xml -> db->model (此处是User,与数据库中的字段名相同) -> UserMapper -> UserMapper.xml(这里是用的mybatis映射,直接动态实现dao接口的实现类) -> UserService -> UserServiceImpl -> UserController,这就是一个大体流程,下面开始介绍模块完成:

  1. 新建maven项目、按照自己的需要新建相关的文件夹:
  2. maven中的pom.xml文件添加依赖:
  3. 配置web.xml
  4. spring整合mybatis(dao层)的配置文件:spring-dao.xml
  5. UserService层接口及实现类:UserService,UserServiceImpl
  6. Spring整合Service层的配置文件:spring-service.xml
  7. mybatis-config.xml配置文件
  8. web层的实现(controller层,springmvc):UserController
  9. Spring整合controller层的配置文件:spring-web.xml
  10. JSP页面:login.jsp,fail.jsp,anotherpage.jsp,success.jsp

以上这些操作参考博文:SSM搭建(整合)+用户模块(登录和注销)实现

二、接下来介绍如何使用mybatis自动生成代码:

可以参考我之前的一篇:如何使用mybatis自动生成代码:

1、配置pom.xml:

添加plugin:

1. <!-- 自动生成代码插件 -->
2.           <plugin>
3.               <groupId>org.mybatis.generator</groupId>
4.               <artifactId>mybatis-generator-maven-plugin</artifactId>
5.               <version>1.3.2</version>
6.               <configuration>
7.                   <!--指定配置文件的名称,默认是 ${basedir}/src/main/resources/generatorConfig.xml-->
8.                   <configurationFile>${mybatis.generator.generatorConfig.xml}</configurationFile>
9.                   <!--指定该参数,则生成java文件时,直接覆盖原来的文件.默认是false,即会对生成的java文件进行编号来标记不是相同的执行结果,由用户来自行合并java文件-->
10.                   <overwrite>true</overwrite>
11.                   <!--如果指定该参数,则会输出执行过程-->
12.                   <verbose>true</verbose>
13.               </configuration>
14.           </plugin>

设置配置文件的位置:

1.   <properties>
2.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
3.     <maven.compiler.source>1.7</maven.compiler.source>
4.     <maven.compiler.target>1.7</maven.compiler.target>
5.     <!--设置mybatis-generator配置文件位置--><mybatis.generator.generatorConfig.xml>${basedir}/src/test/resources/generatorConfig.xml</mybatis.generator.generatorConfig.xml>
6.     <mybatis.generator.generatorConfig.properties>file:///${basedir}/src/test/resources/generatorConfig.properties</mybatis.generator.generatorConfig.properties>
7. 
8.   </properties>

2、配置文件generatorConfig.properties、generatorConfig.xml

generatorConfig.properties:

1. # 数据库驱动jar 路径
2. drive.class.path=E:/Java Web/maven/repositoryBus/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar
3. jdbc.driver=com.mysql.jdbc.Driver
4. jdbc.url=jdbc:mysql://localhost:3306/user?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
5. jdbc.username=root
6. jdbc.password=
7. 
8. # 包路径配置
9. model.package=com.gis.db.model
10. dao.package=com.gis.db.dao
11. xml.mapper.package=com.gis.db.dao
12. 
13. target.project=src/main

generatorConfig.xml:

1. <?xml version="1.0" encoding="UTF-8"?>
2. <!DOCTYPE generatorConfiguration
3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
5. 
6. <!-- 配置Run As Maven build : Goals 参数 : mybatis-generator:generate -Dmybatis.generator.overwrite=true -->
7. <!-- 配置 tableName,使用 Run As Maven build 生成 dao model 层 -->
8. <generatorConfiguration>
9. <!-- 配置文件路径 -->
10. <properties url="${mybatis.generator.generatorConfig.properties}"/>
11. <!-- <properties resource="generatorConfig.properties"/>-->
12. 
13. <!--数据库驱动包路径 -->
14. <classPathEntry location="${drive.class.path}"/>
15. 
16. <context id="DB2Tables" targetRuntime="MyBatis3">
17. <!--关闭注释 -->
18. <commentGenerator>
19. <property name="suppressAllComments" value="true"/>
20. </commentGenerator>
21. 
22. <!--数据库连接信息 -->
23. <jdbcConnection driverClass="${jdbc.driver}" connectionURL="${jdbc.url}" userId="${jdbc.username}"
24. password="${jdbc.password}">
25. </jdbcConnection>
26. 
27. <!--生成的model 包路径 -->
28. <javaModelGenerator targetPackage="${model.package}" targetProject="${target.project}">
29. <property name="enableSubPackages" value="ture"/>
30. <property name="trimStrings" value="true"/>
31. </javaModelGenerator>
32. 
33. <!--生成xml mapper文件 路径 -->
34. <sqlMapGenerator targetPackage="${xml.mapper.package}" targetProject="${target.project}">
35. <property name="enableSubPackages" value="ture"/>
36. </sqlMapGenerator>
37. 
38. <!-- 生成的Dao接口 的包路径 -->
39. <javaClientGenerator type="XMLMAPPER" targetPackage="${dao.package}" targetProject="${target.project}">
40. <property name="enableSubPackages" value="ture"/>
41. </javaClientGenerator>
42. 
43. <!--对应数据库表名 -->
44. <table tableName="user" domainObjectName="User" >
45. </table>
46. 
47. </context>
48. </generatorConfiguration>

3、使用mybatis自动生成代码:

在Intellij IDEA添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

点击 菜单run中Edit Configurations,会出现:

7832d5b29193d1e34f1924d825facc65_70.png

点击+号,选择maven,会出现

801413aab01851cb9faffc6c41c532ab_Center.png

在name和Commond line分别填上如上图所示,apply和ok

最后点击generator,生成model,mapper,dao

8fe29a99a17ac0ef5c9c651005f78b53_Center.png

源码地址:需要请留言~


AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
11月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1582 1
Spring boot 使用mybatis generator 自动生成代码插件
|
Java 数据库连接 Maven
手把手教你如何搭建SSM框架、图书商城系统案例
这篇文章是关于如何搭建SSM框架以及实现一个图书商城系统的详细教程,包括了项目的配置文件整合、依赖管理、项目结构和运行效果展示,并提供了GitHub源码链接。
手把手教你如何搭建SSM框架、图书商城系统案例
|
10月前
|
SQL Java 数据库连接
2-SSM框架篇
Spring框架核心知识点总结,涵盖IOC、DI、Bean作用域、事务管理、AOP、Spring MVC流程及MyBatis相关问题。内容包括控制反转与依赖注入原理、Bean生命周期与线程安全、事务传播机制、JDK与CGLIB代理区别、MyBatis动态SQL与缓存机制等高频面试题。
194 0
|
前端开发 Java 数据库连接
Spring MVC 扩展和SSM框架整合
通过以上步骤,我们可以将Spring MVC扩展并整合到SSM框架中。这个过程包括配置Spring MVC和Spring的核心配置文件,创建控制器、服务层和MyBatis的Mapper接口及映射文件。在实际开发中,可以根据具体业务需求进行进一步的扩展和优化,以构建更加灵活和高效的企业级应用程序。
326 5
|
Java 关系型数据库 MySQL
ssm063基于SSM框架的德云社票务系统的设计与实现(文档+源码)_kaic
基于SSM框架的德云社票务系统旨在解决传统相声订票方式费时费力的问题,提供便捷的在线订票平台。系统采用Java技术、MySQL数据库,结合B/S架构,确保数据安全性和操作简便性。用户可轻松查询、预订相声票务信息,管理员则能高效管理票务和会员信息。该系统功能齐全、运行稳定,适用于现代信息化生活需求,有效提升德云社的票务管理效率与用户体验。
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
3458 2
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
前端开发 Java 数据库连接
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
本文是一份全面的表白墙/留言墙项目教程,使用SpringBoot + MyBatis技术栈和MySQL数据库开发,涵盖了项目前后端开发、数据库配置、代码实现和运行的详细步骤。
446 0
表白墙/留言墙 —— 中级SpringBoot项目,MyBatis技术栈MySQL数据库开发,练手项目前后端开发(带完整源码) 全方位全步骤手把手教学
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
255 1
|
存储 Java 关系型数据库
ssm026校园美食交流系统(文档+源码)_kaic
本文介绍了基于Java语言和MySQL数据库的校园美食交流系统的设计与实现。该系统采用B/S架构和SSM框架,旨在提高校园美食信息管理的效率与便捷性。主要内容包括:系统的开发背景、目的及内容;对Java技术、MySQL数据库、B/S结构和SSM框架的介绍;系统分析部分涵盖可行性分析、性能分析和功能需求分析;最后详细描述了系统各功能模块的具体实现,如登录、管理员功能(美食分类管理、用户管理等)和前台首页功能。通过此系统,管理员可以高效管理美食信息,用户也能方便地获取和分享美食资讯,从而提升校园美食交流的管理水平和用户体验。