项目一众筹网01_01环境搭建(后台)MBG逆向工程(基于maven)整合MyBatis-思路和操作依赖信息来源https://mvnrepository.com
Posted 平凡加班狗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目一众筹网01_01环境搭建(后台)MBG逆向工程(基于maven)整合MyBatis-思路和操作依赖信息来源https://mvnrepository.com相关的知识,希望对你有一定的参考价值。
环境搭建目录
文章目录
- 环境搭建目录
- 11-后台-环境搭建-工程结构和清单
- 12-后台-环境搭建-创建工程
- 13-后台-环境搭建-建立工程间依赖关系
- 14-后台-环境搭建-物理建模-原则
- 15-后台-环境搭建-物理建模-操作
- 16-后台-环境搭建-MBG(逆向工程)
- 17-后台-环境搭建-父工程管理依赖
- 18-后台-环境搭建-依赖信息来源
- 19-后台-环境搭建-整合MyBatis-目标(Spring 整合 MyBatis)
- 20-后台-环境搭建-整合MyBatis-思路
- 21-后台-环境搭建-整合MyBatis-操作清单
- 22-后台-环境搭建-整合MyBatis-加入具体依赖
- 23-后台-环境搭建-整合MyBatis-数据库连接信息
- 24-后台-环境搭建-整合MyBatis-创建Spring配置文件
- 25-后台-环境搭建-整合MyBatis-配置SqlSessionFactoryBean
- 26-后台-环境搭建-日志系统-简介——见下一篇文章
11-后台-环境搭建-工程结构和清单
先不管前台,只专注与后台管理
注意:不是非得这么设计,只是这样是比较合理的
架构上的没有百分百规定,只要你是合法的,合理的,逻辑性的,思路清晰的就行
然后根据这份清单吧实际的工程项目列出来
12-后台-环境搭建-创建工程
接下来是WenUI模块
接着选择 Next(下一步)
因为WenUI是一个web工程,所以打包的方式要选择war
这个解决方式上一章节见过,让eclipse给我们生成一个就好了
这里不过多赘述,直接说最快速的解决办法
点一下即可(巨简单,但是你要不会的话,就怎么都不会)
实际上可能生成的还不够,但是maven项目的话,倒也是够用了,maven项目不需要lib文件夹来放jar包
下面的就都是jar包工程了,很好理解
其实都是为了web层去服务了
后面都是重复这个操作了
重复这个操作把04也完成(05 06 都是一样的操作)
这样就完成了
这里需要注意的是其实他们都在parent目录下,只是eclipse这样给我们显示了,便于我们开发而已
同理,重复把剩下的创建完
至此创建工程就完成了
这样有什么好处呢,好处之一就是:自动帮我们关联了,如下:
maven里面的继承关系(其实也包含聚合这些)已经帮我们自动配置好了
为我们节省了很多时间,我们不需要再配置基础关系,以后安装的时候也只需要安装父工程就行了,因为聚合,其它的子工程会自动安装
13-后台-环境搭建-建立工程间依赖关系
工程架子建立后之后想一想,他们之间有什么依赖关系
可以不手写他们的依赖,直接用eclipse图形化界面设置也很方便
点一下Add…会弹出如下界面
下面都是同样的操作了
== 这样依赖关系就建立好了 ==
14-后台-环境搭建-物理建模-原则
这里就涉及到 SSM整合
先做spring和mybatis整合,
再做spring和springMvc整个
先做spring和mybatis整合,那么肯定就要涉及到数据库
设计数据库其实有一个名词 叫做物理建模
这里可以联想到我们的 物理删除和逻辑删除,物理的意思你就明白了
第一范式:原子性 —— 不可再分——任何一个字段里面的值不能再拆开,
比如上面的 “部门岗位” 这个字段 包含了部门又包含了岗位,这就不符合第一范式了,因为它违背了原子性即可再分
违背了三大范式会有哪些影响 数据冗余等等
勿删问题等等,增删改查都会受到影响
总之就是满足三大范式就是,对逻辑合理、性能提高都是有帮助的
15-后台-环境搭建-物理建模-操作
规则在特情况下是可以变通的,
比如生活中的红绿灯,大家都说红灯停绿灯行;
但是假如一个老奶奶走得很慢,绿灯已经变成红灯了她还在路中间难道车辆就开车撞她吗?
显然不是的,出于人道主义,我们都应该等老奶奶过去再开始正常通行
这种情况下法律法规也不会判断你违法,所以规则在特定情况下是可以变通的
猜一下后台管理员表会有哪些字典
我先来猜一下
字段 | 描述 | 字段类型 |
---|---|---|
id | id号 | int类型吧 |
Name | 姓名 | varChar(string)类型 |
sex | 性别 | int 类型1男 2女 |
age | 年龄 | int类型吧 |
menu | 菜单权限 | 暂时不知道 |
暂时我就能总结出这么多来,那么对不对呢?
其实这就考验一个程序员的经验和技术了,能不能从最开始就知道需要哪些字段
而不是做到一半才知道,然后再去加字段,这样会比较麻烦,至少大体上有哪些字段要知道
点击管理员入口就会出现如下管理员登录的入口
根据上面的原型页面我们看到管理员表需要包含如下字段
账号
密码
名称
邮箱地址
创建数据库和管理员表
-- 3.2 创建数据库
CREATE DATABASE `project_crowd` CHARACTER SET utf8;
---3.3 创建管理员数据库表
use project_crowd;
drop table if exists t_admin;
create table t_admin
( id int not null auto_increment,# id(未设置成主键状态)
login_acct varchar(255) not null,# 登录账号
user_pswd char(32) not null, # 登录密码
user_name varchar(255) not null, # 昵称
email varchar(255) not null, # 邮件地址
create_time char(19), # 创建时间
primary key (id) # 设置主键
)
插入一条数据
16-后台-环境搭建-MBG(逆向工程)
MBG是Mybatis generator英文的缩写,是根据数据库中的表,反向生成实体类,DAO,Mapper文件的插件
我们这里使用的工具是eclipse(sts),idea那块的逆向工程封装得也很好,那块以后的项目里面再说
总之MBG就是可以自动生成实体类,DAO,Mapper的一个技术
MBG是非常重要的,也是非常有用的,有了这个技术,我们可以少写很多代码
概要:
具体操作:
拷贝(复制)之后
来这里粘贴
你可能会问,为什么要在poom.xml里面配置这些,
因为配置了这些你才能连接上数据库,
连接上数据库你才能够知道有哪些表
这样MBG逆向工程才能够去自动生成Dao和mapper(实体类在mybatis里面没有dao,只有mapper,mapper层就是dao层)
pom 配置完了之后,我们需要创建 generatorConfig.xml文件,这是逆向工程的文件
eclipse的格式化(Ctrl+Shift+F),如果格式化快捷键失效,查看是不是输入法占用了快捷键
执行逆向生成操作的 Maven 命令
mybatis-generator:generate
执行逆向生成操作的 Maven 命令
mybatis-generator:generate
这一步是将实体类补充满足
另外需要注意 mapper.java和mapper.xml是对应的
逆向工程生成的资源各归各位
WebUI 工程将来在 Tomcat 上运行时,
现在 resources 目录下的资源会直接放在 WEB-INF/classes 目录(也就是类路径)下,
所以放在 resources 目录下运行的时候更容 易找到。
注意这个mapper拖过来之后要继续改一下
怎么改呢?
放到webUI的原因是部署到tomcat之后,会比较方便
然后把其它地方用不到的mybatis的依赖删掉,没必要出现肉眼可见的冗余
至此逆向工程完毕
一定要学会,逆向工程后面还有很多地方要用得到
17-后台-环境搭建-父工程管理依赖
粘贴完记得看一下代码,格式不友好的话,需要按 Ctrl+Shift+F 格式化一下代码
18-后台-环境搭建-依赖信息来源
到专门网站搜索 https://mvnrepository.com
19-后台-环境搭建-整合MyBatis-目标(Spring 整合 MyBatis)
Spring 整合 MyBatis我们要达到一个什么样子的目标,这个要明确
20-后台-环境搭建-整合MyBatis-思路
21-后台-环境搭建-整合MyBatis-操作清单
22-后台-环境搭建-整合MyBatis-加入具体依赖
注意这里要结合开发文档
另外mybatis核心包其实也有了,如果开发文档里面有也删掉(按道理应该开发文档已经整理好了),
但是这不是必须要删掉的,只是没必要重复
下图的操作可以看一下他们之间的关系
23-后台-环境搭建-整合MyBatis-数据库连接信息
jdbc.user=root
jdbc.password=123456
jdbc.url=jdbc:mysql://localhost:3306/project_crowd?useUnicode=true&characterEncoding=UTF-8
jdbc.driver=com.mysql.jdbc.Driver
24-后台-环境搭建-整合MyBatis-创建Spring配置文件
<!-- 加载外部属性文件 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
注意不用把父工程的剪切过来,而是引用父工程的就行了
整合的好处就是 整合以后IOC容器里面有啥,我们这个类里面就可以去装配它
bug排查
如果没有出现成功标志,而是报错了咋解决
第一步 看caused by后的内容
第二步 看配置文件(一般都是配置文件出错)
第三步 查看mysql数据库服务器是否开启 或数据库信息名称是否匹配
根据caused by后的内容
1、sqlSessionFactoryBean创建不了
2、mybatis-config.xml没有找到
逐一解决
25-后台-环境搭建-整合MyBatis-配置SqlSessionFactoryBean
配置SqlSessionFactoryBean,我们还是对照前面这一张图来理解
运行试一下
这样就说明成功了
26-后台-环境搭建-日志系统-简介——见下一篇文章
以上是关于项目一众筹网01_01环境搭建(后台)MBG逆向工程(基于maven)整合MyBatis-思路和操作依赖信息来源https://mvnrepository.com的主要内容,如果未能解决你的问题,请参考以下文章
项目一众筹网01_00此项目是SSM过渡到分布式项目(SpringBootSpringCloud)
项目一众筹网01_04环境搭建_表述层springMvc的搭建快速打开web.xml快捷键@RequestBody和@ResponseBody的区别以及好处
项目一众筹网01_05环境搭建-异常映射ajax请求和普通请求的区别基于注解的异常映射@ResponseBody和@RequestBody的区别
项目一众筹网07_01_SpringSecurity框架简介和用法SpringSecurity负责的是 权限验证Spring的注解模式maven引入Spring环境加入layUI环境
项目一众筹网02_1_此次项目的重要性环境搭建-创建常量类管理员登录功能开始表单都是以post方式去提交我们说的控制器就是handlerbase标签的位置实现点击浏览器的上一步