Spring+Mybatis+Druid
Spring+Mybatis+Druid创建项目选择Spring Initializr创建项目,选择jdk版本和默认的Service URL
填写项目的Group,Artifact信息选择Web中的Spring Web和Sql中的Spring Data JDBC,Mybatis,MySQL四个依赖然后填写项目信息点击Finish
导入依赖添加Druid依赖
12345<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.23</version></dependency>
修改配置文件修改datasource.properties文件
1234567891011121314151617181920212223242526272829303132333435#datasource<!-- mysql8.0以上版本 -->spring.dat ...
SpringBoot自动配置
序言Spring Boot的出现,得益于“约定大于配置”的理念,没有繁琐的配置、难以集成的内容(大多数流行第三方技术都被集成),这是基于Spring 4.x提供的按条件配置Bean的能力。
自动配置作为SpringBoot的精髓,不仅仅是“面试”中会问到自动配置的原理,如果能理解自动配置的原理,将无往不利。
本文使用SpringBoot版本为:2.3.3
工作原理@SpringBootApplication首先,我们都知道SpringBoot项目运行标记 @SpringBootApplication 注解的类 的main方法来启动SpringBoot应用,那么从这里开始着手
@SpringBootApplication: Spring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。
在xxxApplication.java文件中查看@SpringBootApplication注解(按住ctrl+点击注解)
12345678910111213141516171819// S ...
前后端传递参数
正常情况下传递给后端的是application/x-www-form-urlencoded格式,后端可以直接接收但是传递对象时,需要以json格式来传递(application/json),前端需要设置
12contentType: "application/json",data: JSON.stringify(data),
同时,后端需要用@RequestBody作用在参数上来接受例:
1234@RequestMapping("/deleteAll") public String deleteAll(@RequestBody Vip vip) { }
后端返回JSON格式数据可以使用@RestController
@RestController等价于@Controller+@ResponseBody
knife4j
这是对官网内容的一份总结,是对官网内容的整理本文中所使用knife4j版本号–>2.0.8
简介knife4j是springfox-swagger的增强UI实现,为Java开发者在使用Swagger的时候,能拥有一份简洁、强大的接口文档体验,前身是swagger-bootstrap-ui官方指南
整合SpringBoot添加依赖
在pom.xml中添加依赖
123456<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <!--在引用时请在maven中央仓库搜索最新版本号--> <version>2.0.8</version></dependency>
TIP:3.x的版本依赖springfox3.0.0,springfox3.0目前也只更新发布了一个版本,从功能稳定性来说,可能不如2 ...
MyBatis Generator
Why生成pojo,mapper.java.mapper.xml文件(包含基础增删改查),提交工作效率,解决繁琐的消逝
使用方法1. pom.xml导入插件1234567891011<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.4.0</version></dependency><!-- Mybatis Dynamic Sql 依赖,可以不添加 --><!-- <dependency> <groupId>org.mybatis.dynamic-sql</groupId> <artifactId>mybatis-dynamic-sql</artifactId> <version>1.1.4&l ...
SSM搭建
总结
修改web.xml配置文件的内容
添加mybatis、spring_mvc、spring_config的xml文件,放置在资源文件夹根目录,也可以在这里创建分别的目录
把mybatis的mapper.xml文件放置到资源文件夹中,不再与pojo同包
创建controller、pojo、service包,分别创建controller类、pojo对象和接口、service类(选:common:常量类,dto:返回对象类,utils:工具类)
依赖123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118<dependency> <gr ...
Layui
表单输入框需要设置name属性才能从data.field中提取
数据表格json数据需要设置code = 0 ,count = ?,且data需要为List类型修改静态修改data数据是在弹窗关闭后,所以提交后台数据需要使用获得的数据,不可以直接提交data
弹出层需要定义layer
123layui.use('layer', function(){ var layer = layui.layer;});
MyBatis "#" 和 "$" 区别
1:概念Mybatis中sql语句共有三种执行方式
选项
说明
STATEMENT
直接操作sql,不进行预编译,获取数据:$–Statement
PREPARED
预处理,参数,进行预编译,获取数据:#–PreparedStatement
CALLABLE
执行存储过程—CallableStatement
MyBatis默认使用PREPARED方式,即#{}。
传入的参数在SQL中显示不同 使用${}方式传入的参数,mybatis不会对它进行特殊处理,而使用#{}传进来的参数,mybatis默认会将其当成字符串。可能在赋值给如id=#{id}和id=${id}看不出多大区别,但是作为表名或字段参数时可以明显看出, 例:
1234selec * from #{table};- 解析后为:select * from "test";select * from ${table};- 解析后为:select ...