SpringBoot
SpringBoot概念:
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
配置YML文件
环境可以有多个,使用---分割
spring:
profiles:
active: pro
---
spring:
profiles: dev #开发环境
#语法: key:空格value 1.注意缩进 2.注意层级
server:
port: 8090
servlet:
context-path: /
#将数据写入配置文件
jdbc:
username: root用户名
password: root密码
--- #环境分割线
spring:
profiles: pro #生产环境
#语法: key:空格value 1.注意缩进 2.注意层级
server:
port: 8091
servlet:
context-path: /jt
#将数据写入配置文件
jdbc:
username: root用户名
password: root密码
热部署
当程序修改之后,如果以传统的方式,必须重启tomcat服务器.如果添加热部署功能.则可以实现实时的更新.
1.添加插件
<!--添加热部署插件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>
LomBok
简化POJO编辑方式。自动生成set/get/构造方法等。
1.添加jar包
<!--引入插件lombok 自动的set/get/构造方法插件 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency>
2.配置方式
找到lombokjar包文件位置 以java方式运行
之后点击install/update
在eclipse安装的根目录下会生成lombok.jar包文件,表示插件安装成功
4.配置
在文件安装的根目录找到SpringToolSuite4.ini中
手动在ini文件中最后一行添加
-vmargs -javaagent:lombok.jar
5.常用注解
@Data注解:在JavaBean或类JavaBean中使用,这个注解包含范围最广,它包含getter、setter、NoArgsConstructor注解,即当使用当前注解时,会自动生成包含的所有方法;
@getter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的getter方法;
@setter注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的setter方法;
@NoArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的无参构造方法;
@AllArgsConstructor注解:在JavaBean或类JavaBean中使用,使用此注解会生成对应的有参构造方法;
@ToString注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的toStirng方法;
@EqualsAndHashCode注解:在JavaBean或类JavaBean中使用,使用此注解会自动重写对应的equals方法和hashCode方法;
@Slf4j:在需要打印日志的类中使用,当项目中使用了slf4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
@Log4j:在需要打印日志的类中使用,当项目中使用了log4j打印日志框架时使用该注解,会简化日志的打印流程,只需调用info方法即可;
Spring 整合Mybatis
1.YML配置文件
server: port: 8080 servlet: context-path: / spring: datasource: #引入druid数据源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/database?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true username: root password: root mybatis: #定义别名包 resultType的映射可以省略包路径 type-aliases-package: xxx.xxx.xxx #加载mapper的映射文件 mapper-locations: classpath:/mybatis/mappers/*.xml #开启驼峰映射 #使用说明: 1.必须按照驼峰规则的规定 去掉_线,并且之后字母"大写" # 2.如果开启驼峰规则,必须按照要求 属性user_id 字段user_id configuration: map-underscore-to-camel-case: true
Mybatis-plus
Mybatis-plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
1.ORM映射
1)已对象的方式操作数据库.
2)通过数据库的查询,自动封装为对象
2.实现单表的自动关系映射
单表操作时,用户不写sql自动的实现ORM映射。
实现思路
1)编辑工具接口 定义公共的API.
2)利用注解实现表与对象的关联,对象中的属性与表中的字段也需要关联.
3)当工具API执行时,转化为Sql语句.
实现步骤
1.导入jar包
<!--spring整合mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.6</version> </dependency>
2.编辑YML
#mybatis-plush配置
mybatis-plus:
#定义别名包 resultType的映射可以省略包路径
type-aliases-package: com.jt.pojo
#加载mapper的映射文件
mapper-locations: classpath:/mybatis/mappers/*.xml
#开启驼峰映射
#使用说明: 1.必须按照驼峰规则的规定 去掉_线,并且之后字母"大写"
3.pojo类
@Data @Accessors(chain = true) @TableName("user") //如果表名与对象名称一致,则可以省略不写 public class User { @TableId(type = IdType.AUTO) //表示主键自增 private Integer id; //@TableField("name") //如果字段与名称一致时,可以省略不写 private String name; private Integer age; private String sex;
4.Mapper类
public interface UserMapper extends BaseMapper<User>{ //查询全部数据 List<User> findAll(); }
5.测试类
@SpringBootTest @RunWith(SpringRunner.class) public class TestMybatis { @Autowired private UserMapper userMapper; @Test public void testFindAll() { System.out.println(userMapper.getClass()); System.out.println(userMapper.findAll()); } @Test public void testInsert() { User user = new User(); user.setId(null) .setName("1907班") .setAge(4) .setSex("男女"); int rows = userMapper.insert(user); if(rows > 0) { System.out.println("用户入库成功!"); }