zoukankan      html  css  js  c++  java
  • 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("用户入库成功!");
            }
  • 相关阅读:
    如何在现有SuperMemo UX课程中快速新增学习材料?
    EmEditor的妙用:快速预览html网页
    [编程心得]PyQt中“明天”的表示法
    iTunes U:数字1到19的发音视频
    写个 LINQ的分组
    VS 添加链接文件 好容易忘记, 备注一下。
    发个代码
    批量修改 表结构
    你的5个需求层次 认识自身3
    动态规划,必需这样,必需不能这样,是快速解决某类问题的关键所在。 认识自身7
  • 原文地址:https://www.cnblogs.com/ming-long/p/11737958.html
Copyright © 2011-2022 走看看