springBoot初识demo

来源:互联网 发布:标准偏差计算软件 编辑:程序博客网 时间:2024/06/18 13:21
  • 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)@SpringBootTestpublic 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);    }}
原创粉丝点击