1601-SpringBoot随笔

一、环境

二、Mybatis+mysql搭建

     1—构建   Step 1

      使用spring  initialtor建立一个jdk8的项目,架构选择基本即可

      

      建立项目后,修改pom.xml,如下图(其中部分为可选):     

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
</dependency>
<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.5</version>
</dependency>
<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
</dependency>
<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.50</version>
</dependency>
<dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.4</version>
</dependency>
<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
</dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
</dependency>

  resource目录中新建application.yml

spring:
  profiles:
    active: dev

 新建对应的application-dev.yml 

server:
  port: 8080

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8&useUnicode=true&serverTimezone=UTC&allowMultiQueries=true
    username: root
    password: hahaha
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  type-aliases-package: com.sboot.redis01.entity
  mapper-locations: classpath:mapping/*.xml

#showsql
logging:
  level:
    com:
      sboot:
        redis01:
          mapper: debug

     2—编写   Step 2 

    目录结构如下图:

    

     声明数据库表实体    

@Alias("person")
public class Person implements Serializable {

    private int  Id;
    private String name;
    private String gender;
    private String phone;
    //省略getter和setter
}

      编写mapper接口      

//注解必需有
@Repository
public interface log2Mapper {

    List<tlog2> getAll();
}

      对应的resource的mapping\log2Mapper.xml

<mapper namespace="com.sboot.redis01.mapper.log2Mapper">
    <!--        使用insert,update,delete,select标签sql  -->
    <!--    id值取自Dao接口中的方法名称        -->
    <select id="getAll"  resultType="log2">
            select * from t_log2;
    </select>
</mapper>

      相应的service类

@Service
public class log2Service {
    //注解参数required,布尔值。默认为true,false表示log2Map可为null,可忽略取值
    @Autowired
    log2Mapper log2Map;

    public List<tlog2>  GetAll(){
        return log2Map.getAll();
    }
}

      修改启动类(添加映射扫描) 


@SpringBootApplication
@MapperScan("com.sboot.redis01.mapper")
public class Redis01Application {

    public static void main(String[] args) {
        SpringApplication.run(Redis01Application.class, args);
    }
}

      3—junit测试   Step 3 

@SpringBootTest
class Redis01ApplicationTests {
    @Autowired
    log2Service   log2Serv;

    @Test
    void getlog2(){
        List<tlog2> logs=log2Serv.GetAll();
        if(logs!=null && logs.size()>0){
            for(tlog2 item:logs){
                System.out.println("记录--------------------"+item.toString());
            }
        }else{
            System.out.println("------------------结果为空");
        }
    }
      
}

     比springMVC的配置简化不少。

三、Mybatis  Junit测试 

     1—基本用法

      搭建springBoot基本框架。
      pom.xml添加 :mybatis依赖,junit依赖     


<dependency>
     <groupId>org.mybatis.spring.boot</groupId>
     <artifactId>mybatis-spring-boot-starter</artifactId>
     <version>1.3.2</version>
</dependency>
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-test</artifactId>
     <scope>test</scope>
</dependency>

       下为启动类代码

@ComponentScan({"com.study.myexam.controller","com.study.myexam.dao","com.study.myexam.service"})
@SpringBootApplication
public class MyexamApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyexamApplication.class, args);
    }

}

 新增测试自定义类。注意:@SpringBootTest属性classess值为启动类名称。 

@RunWith(SpringRunner.class)
@SpringBootTest(classes = MyexamApplication.class)
public class AppTest {

    @Autowired
    private acctService acctServ;

    @Before
    public  void startup(){
        System.out.println("--------------------开始了-----------------------");
    }

    @After
    public  void termain(){
        System.out.println("-----------------------结束了-----------------------------");
    }

    @Test
    public  void   testMybatis01(){
        try {
            List<tAccount>      list=acctServ.List();
            if(list!=null && list.size()>0){
                for (  tAccount item :list){
                    System.out.println("值----------------------"+item.toString());
                }
            }else{
                System.out.println("结果---------------为空");
            }
        } catch (Exception e) {
            System.out.println("ERR--------------------------------"+e.getMessage());
        }
    }

}

 控制台显示如下

四、lombok使用

     1—简介 

     一段用来简化实体类属性代码的辅助工具。有了它,不用再书写Getter/Setter,toString()等代码,便得实体类的代码极为精炼。

     2—用法

     在pom.xml引入依赖     

<dependencys>
    <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <optional>true</optional>
        </dependency>    
</dependencys>

    然后再设置中添加相应插件,否则代码将不能自动形成Getter/Setter代码

    

    简单实体类写法:

import lombok.*;

@Data
public class t_log2 {

    private  int  Id;
   private  String name;
    private  String  sex;
    private   String address;
    private   int  tage;
    private   String   FEmail;
}

     如果想具体使用lombok部分注解,如下图:

import lombok.*;


@ToString(of = {"Id","name","sex","tage","address","FEmail"})
@Setter(AccessLevel.PUBLIC)
@Getter(AccessLevel.PUBLIC)
public class t_log2 {

    private  int  Id;
   private  String name;
    private  String  sex;
    private   String address;
    private   int  tage;
    private   String   FEmail;
}

     3—子类重载toString(),如何引入父类toString()值?

     在@toString()的注解中,添加callSuper=true参数,即可实现输出父类属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值