zoukankan      html  css  js  c++  java
  • springboot中jpa+lombok

    1.依赖

            <!--jpa相关-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>

    yml配置文件

    spring:
      datasource:
        url: jdbc:mysql://127.0.0.1:3306/wxdd?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false
        driver-class-name: com.mysql.cj.jdbc.Driver
        username: root
        password: 123456
      jpa:
        show-sql: true

    2.pojo

    @Entity
    @DynamicUpdate//若是数据库有默认的字段,会根据数据库默认字段进行修改
    @Data   //lombok 他可以创建set、get方法以及toString
    public class ProductInfo {
        @Id
        @GeneratedValue(strategy= GenerationType.IDENTITY)
        private Integer productId;
        private String productName;//名称
        private Integer productPrice;//加个
        private Integer productType;//类目
    }

    3.mapper文件

    public interface ProductInfoMapper extends JpaRepository<ProductInfo,Integer> {
      //方法名有格式的
      List<ProductInfo> findByProductIdIn(List<Integer> list);
    }

    4.测试类

    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class ProductInfoMapperTest {
        @Autowired
        private ProductInfoMapper product;
        @Test
        @Transactional
        public void getOne(){
            ProductInfo productInfo=product.getOne(1232);
            System.out.println(productInfo);
        }
    
        @Test
    //    @Transactional
        public void savMsg(){
            ProductInfo productInfo = new ProductInfo();
            productInfo.setProductName("张三");
            productInfo.setProductPrice(123456);
            productInfo.setProductType(2);
            ProductInfo pr = product.save(productInfo);
            Assert.assertNotNull(pr);
    //        Assert.assertNotEquals(null,pr);
        }
    
        @Test
        public void findByProductIdInTest(){
    
            List<Integer> list = Arrays.asList(1234,1235);
            List<ProductInfo> result = product.findByProductIdIn(list);
            System.out.println(result.toString());
            Assert.assertNotEquals(0,result.size());
        }
    
    
    }

    @Modifying:可以使用该注解来实现通过JPQL修改和删除(JPQL不支持添加)

    @Modifying
    @Query(value = "update Person p set p.name = ?1, p.age = ?2 where p.id = ?3")
    void updatePerson(String name, Integer age, Long id);
  • 相关阅读:
    javascript中万恶的function
    Windows7下如何安装部署秋色园CYQBlog源码V1.0网站
    Extjs2.2:Panel里面嵌入Excel表格
    Extjs做界面很酷;感谢博客园给我一个展示的机会;借此向大家展示一下EXTJS的魅力
    16Aspx.com改进版Extjs简单版酒店管理系统提供下载!
    Ext2.2+ASP.NET开发框架已完成欢迎大家下载!
    Extj+Asp.net开发框架V1.1树的操作
    Ext2.2程序开发实战(1)登录界面
    扩展欧几里得定理
    C语言 统计整数二进制表示中1的个数
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11655116.html
Copyright © 2011-2022 走看看