springBoot初识demo

  • pom文件
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
  • yml文件配置:
# 连接数据库设置
spring.datasource:
  url: jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8&useSSL=true
  username: root
  password: admin
  driver-class-name: com.mysql.jdbc.Driver
# jpa设置
spring.jpa:
  show-sql: true   # 在控制台打印sql
  database: mysql  # 数据库
  properties.hibernate.dialect: org.hibernate.dialect.MySQL5Dialect   # 数据库方言
  # 添加以下配置,否则jpa在做insert的动作的时候会把insert的dto的驼峰命名的字段添加下划线处理。比如:userName在jpainsert中会变成user_name导致报错
  hibernate.naming.physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

dto代码:

// 映射表user和标注本类为一个实体类
@Entity
@Table(name = "user")
public class UserDto implements Serializable{

    private static final long serialVersionUID = 1L;
    //表明为主键id,不使用@Column注解标明的话。他也会默认使用你写好的属性与数据库字段对应。
    @javax.persistence.Id
    private String id;
    private String userName;
    private String userCode;
    private String passWord;
    private String phoneNumber;
    private String valid;
    private String sex;
    private String role;

    public String getUserName() {
        return userName;
    }

service层代码:

public interface UserService {

    //按照id查询
    public UserDto findUserById(String id);

    //  添加一个用户
    public void insertUserDto(UserDto dto);

}
@Service("userService")
public class UserServiceImpl implements UserService  {
    @Autowired
    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public UserDto findUserById(String id) {
        return userDao.findUserDtoById(id);
    }
    @Transactional
    @Override
    public void insertUserDto(UserDto dto) {
        //使用CrudRepository提供的方法
        userDao.save(dto);
    }
}

dao代码:

package com.example.demo.dao;

import com.example.demo.dto.UserDto;
import org.springframework.data.repository.CrudRepository;

//继承CrudRepository类以便使用提供好的简单的添加查询之类的方法。
// 比如在service层的insertUserDto方法就是直接使用的CrudRepository里的添加方法
//CrudRepository<UserDto, String>这里的UserDto对应实体类,String指的是UserDto对应的数据库表的主键类型是String。
public interface UserDao extends CrudRepository<UserDto, String> {

    public UserDto findUserDtoById(String id);
}

test测试类:

import com.example.demo.dto.UserDto;
import com.example.demo.service.UserService;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import redis.clients.jedis.Jedis;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
    private Jedis jedis;

    @Autowired
    private UserService userService;

    public UserService getUserService() {
        return userService;
    }

    public void setUserService(UserService userService) {
        this.userService = userService;
    }

    @Test
    public void contextLoads() {
        jedis.set("Hello","xyb");
        System.out.println(jedis.get("Hello"));
    }

    @Before
    public void setup(){
        jedis = new Jedis("192.168.111.200");
//      jedis.auth("root");
    }
    @Test
    public void  findUserByIdTest(){
        UserDto dto = new UserDto();
        dto = userService.findUserById("1");
        System.out.println(dto.toString());
    }

    @Test
    public void insertUserDtoTest(){
        UserDto user = new UserDto();
        user.setId("3");
        user.setPassWord("123456");
        user.setUserName("admin");
        user.setUserCode("xuyb");
        user.setSex("1");
        user.setRole("0");
        user.setValid("1");
        user.setPhoneNumber("15869874568");
        userService.insertUserDto(user);
    }

}

猜你喜欢

转载自blog.csdn.net/weixin_39513166/article/details/78873138