• SpringBoot整合JPA


    IDEA 2019.2

    jdk 8

    Oracle

    一、项目结构

     二、依赖POM

     三、创建项目代码

     启动类 App.java

     entity-->Person.java

    @Entity
    @Table(name = "person_tab")
    @SequenceGenerator(name = "ps",sequenceName = "person_seq",allocationSize = 1)//oracle
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    public class Person {
        @Id
        @GeneratedValue(generator = "ps",strategy = GenerationType.SEQUENCE)
        @Column(name = "p_id")
        private Integer id;
        @Column(name = "p_name")
        private  String name;
        @Column(name = "p_gender")
        private String gender;
    }

    dao-->IPersonDao.java

    @Repository
    public interface IPersonDao extends CrudRepository<Person,Integer> {
    }

    service-IPersonService

    public interface IPersonService {
        void add(Person person);
        void  delete(Integer id);
        void update(Person person);
        List<Person> findAll();
    }

    service-->impl--IPersonServiceImpl

    @Service("ips")
    @Transactional
    public class IPersonServiceImpl implements IPersonService {
        @Autowired
        private IPersonDao dao;
        
        @Override
        public void add(Person person) {
            dao.save(person);
        }
    
        @Override
        public void delete(Integer id) {
            dao.deleteById(id);
        }
    
        @Override
        public void update(Person person) {
            dao.save(person);
        }
    
        @Override
        public List<Person> findAll() {
            return (List<Person>) dao.findAll();
        }
    }

    contoller 此省略

    四、配置文件

     application.yml

     application-dev.yml

     五、测试

    @SpringBootTest
    @RunWith(SpringJUnit4ClassRunner.class)
    public class IPersonServiceImplTest {
    
        @Resource
        private IPersonService ips;
    
        @Test
        public void add() {
            Person p=new Person(null, "dxj", "女");
            ips.add(p);
        }
    
        @Test
        public void delete() {
        }
    
        @Test
        public void update() {
        }
    
        @Test
        public void findAll() {
        }
    }

  • 相关阅读:
    MySQL存储写入性能严重抖动分析
    关于MySQL的commit非规律性失败案例的深入分析
    MySQL存储写入速度慢分析
    MySQL缓存之Qcache与buffer pool对比
    SQL执行过程中的性能负载点
    关于MySQL用户会话及连接线程
    如何查询、修改参数状态值
    genymotion 前端调试
    name是个特殊的变量名吗
    background-size 导致的背景不居中问题
  • 原文地址:https://www.cnblogs.com/dxjx/p/12462105.html
Copyright © 2020-2023  润新知