IDEA SSM后端框架入门
SSM框架
如果对SSM一无所知,推荐先去看这本书
,可以在微信读书上看。
知识点
控制器返回对象时,对象需要有getter,setter方法,才能自动转化为json数据类型。
一个服务管理者对应多个业务
一个业务对应多个mybatis方法。
VO作为前端后端传参的实体类,POJO为数据库表的类。
Tomcat的conf/logging.properties可以修改UTF-8为GBK解决中文乱码问题
注解驱动在springmvc中,包含信息转换者,将对象转化为json等。
拦截器在springmvc中配置,需要设置排除拦截路径,拦截路径,拦截器类位置
视图解析器在springmvc中,当没有@ResponseBody注解时,默认用使用视图解析器。
扫描器在springmvc中配置,用于扫描JAVA源码
Spring.xml主要与mybatis交互,扫描接口,配置数据库信息,扫描mybatis配置文件等。
Config.xml在spring.xml中被调用,用于扫描实体类。同时打印sql语句以及结果
出现错误:至少有一个JAR被扫描用于TLD但尚未包含TLD。 为此记录器启用调试日志记录,以获取已扫描但未在其中找到TLD的完整JAR列表。 在扫描期间跳过不需要的JAR可以缩短启动时间和JSP编译时间,而且没有提示时哪里错误时,多半是xml文件错误,重新检查mybatis数据库映射文件是否一一对应。
Swagger安装时,需要在github中手动下载swagger-ui。到webapp中,然后在pom.xml配置后通过/projectname/swagger/index.html打开
Mybatis用arg0表示第一个参数。不要随便在mybatis语句中加分号;
Java不能引用传递改变参数值,只能通过返回值进行对对象进行赋值
如果对象为空, java.lang.NullPointerException: Cannot invoke ",考虑@Autowire注解是否是否有灰色参数

允许多行SQL语句运行。
Mysql
所有IP都能使用user用户
执行use mysql;
执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它
执行FLUSH PRIVILEGES;
创建用户并授权
CREATE USER 'hive'@'%' IDENTIFIED BY 'qqhaocmj';
GRANT ALL ON *.* TO 'hive'@'%';
知识点
mysql有很多自带的能够处理时间的函数
IDEA
IDEA自动生成POJO类
菜单View→Tool Windows→Database打开数据库工具窗口
左上角添加按钮“+”,选择数据库类型
通过IDEA生成实体类
选中一张表,右键--->Scripted Extensions--->选择Go to,
修改
packageName = "com.southwind.entity;"
def className = table.getName()
fields += [[
name : col.getName(),
IDEA连接数据库,菜单View→Tool Windows→Database打开数据库工具窗口,左上角添加按钮“+”,选择数据库类型,通过IDEA生成实体类,选中一张表,右键--->Scripted Extensions--->选择Generate POJOS.clj
IDEA使用MAVEN推荐设置代理,setting中搜索proxy
部署项目到本地:

标记文件夹属性


添加modules


添加artifacts

修改artifacts

修改TomcatConfiguration
部署项目到服务器:
在http://tomcat.apache.org/download-90.cgi下载tomcat安装包,解压到linux服务器。
修改服务器MYSQL的对应spring.xml的用户的访问IP为%,确保任何访问都能够连接

解压完毕后,大概会有这么几个文件

conf是放置配置文件的,其中有个server.xml需要我们修改,如果端口有冲突。我的服务器因为安装了spark,所以需要更改端口为9090
webapps文件夹用来放置war包,也就是你每次在本地运行项目时,生成的war包(图二)。war包在放入webapps文件夹后,启动服务后,会自动解压到webapps中(图三),根据文件夹的名称,我们可以访问对应的页面(图四)
lib文件夹用来放置各种jar包,如JDBC驱动等,不过现在跟我们没啥关系
logs文件夹存放日志文件,能看到Tomcat的日志文件(图一)。

图一(这里我使用code-server连接了服务器)

图二

图三

图四

IDEA SSM后端框架入门的更多相关文章
- SSM+Maven(教程二):Idea快速入门SSM+Maven框架。
快速入门须知 这篇文章,直接应用已经搭建好的SSM框架.一般在公司里面,考虑框架的搭建.封装等问题,都由研发经理或者架构师完成,所以对于刚入门的小白来说,在去搭建整合花费的时间会很多很多.对于理解能力 ...
- Java后端框架之Spring Boot详解,文末有Java分布式实战项目视频可取
在 Java 后端框架繁荣的今天,Spring 框架无疑是最最火热,也是必不可少的开源框架,更是稳坐 Java 后端框架的龙头老大. 用过 Spring 框架的都知道 Spring 能流行是因为它的两 ...
- AG-Admin微服务框架入门
AG-Admin微服务框架入门 @qq群:一群: 837736451 二群 169824183 一 概要介绍 AG-Admin后台地址:https://gitee.com/minull/ace-s ...
- 后端API入门到放弃指北
后端API入门学习指北 了解一下一下概念. RESTful API标准] 所有的API都遵循[RESTful API标准]. 建议大家都简单了解一下HTTP协议和RESTful API相关资料. 阮一 ...
- JavaWeb框架_Struts2_(一)----->Struts2 框架入门
1. 框架入门 2.1 Struts2简介 (1). Struts2是一种基于MVC模式的的轻量级Web开发框架. MVC模式:MVC全名是Model View Controller,是模型(mo ...
- SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)【转】
使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...
- CI框架入门1
CI框架入门: 1.url的特点 2.目录结构/布局 3.MVC分别在哪里,如何依葫芦画瓢 4.安全性 ...
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战
前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo.服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了.同 ...
随机推荐
- Swift3.0学习之基础部分
1.常量和变量 常量和变量把一个名字(比如 maximumNumberOfLoginAttempts 或者 welcomeMessage )和一个指定类型的值(比如数字 10 或者字符串 " ...
- EF Core 封装方法Expression<Func<TObject, bool>>与Func<TObject, bool>区别
unc<TObject, bool>是委托(delegate) Expression<Func<TObject, bool>>是表达式 Expression编译后就 ...
- webform中DropdownList绑定多个字段
说明 ListItem中有Attributes属性,手动创建一个自定义属性,赋值需要绑定的字段的值. 这样的话,前台js也可以获取到,能够显示到前台html,进行控制. 代码 foreach(Data ...
- .net MVC 微信公众号 获取 access_token
官方文档说明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183&token=&lang=zh_ ...
- c#——ToString()的各种用法
ToString()的各种用法 string str = ""; str = 123456.ToString("N"); //生成 12,3456.00 str ...
- [leetcode]29. Divide Two Integers不用除法实现除法
思路是不断将被除数分为两部分,每次分的一部分都是尽量大的除数的倍数,然后最后的商就是倍数加上剩下的部分再分,知道不够大. 递归实现 剩下的难点就是,正负号(判断商正负后将两个数都取绝对值),数太大(将 ...
- Java学习日报8..4
class ArrayUtil{ public static void reverse(int data[]) { int center=data.length/2; int head=0; int ...
- DML、DDL、DCL
总体解释:DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据 ...
- 【分布式锁】Redis实现可重入的分布式锁
一.前言 之前写的一篇文章<细说分布式锁>介绍了分布式锁的三种实现方式,但是Redis实现分布式锁关于Lua脚本实现.自定义分布式锁注解以及需要注意的问题都没描述.本文就是详细说明如何利用 ...
- 【并发编程】- ThreadPoolExecutor篇
Executor框架 Executor框架的两级调度模型(基于HotSpot) 在上层,Java多线程程序通常把应用分解为若干个任务,然后使用用户级的调度器(Executor框架)将这些任务映射为固定 ...