文档章节

jpa源生sql在dao的实现类查询

Marvel哈
 Marvel哈
发布于 05/31 19:46
字数 164
阅读 39
收藏 0
  @Autowired
    EntityManager entityManager;

    @Override
    public List<Object[]> getSel(String name) {
        StringBuffer sql=new StringBuffer("SELECT f.id,f.title,f.createDate,f.content,f.classId,c.cname FROM faqs f\n" +
                "LEFT JOIN classes c on f.classId=c.id where 1=1");
        Query query=null;
        if(name!=null&&!name.equals("")){
            sql.append("  and f.title like CONCAT('%',:name,'%') ");
            query= entityManager.createNativeQuery(sql.toString()).setParameter("name",name);
        }else{
            query=entityManager.createNativeQuery(sql.toString());
        }
        return query.getResultList();
    }
  @Autowired
    FaqsDao faqsDao;
    @Override
    public List<Faqs> getSel(String name) {
        List<Object []> obj=faqsDao.getSel(name);
        List<Faqs> list=new ArrayList<>();
        for (Object[] ob :obj){
            Faqs faqs=new Faqs();
            faqs.setId(Integer.parseInt(ob[0].toString()));
            faqs.setTitle(ob[1].toString());

            faqs.setCreateDate(ob[2].toString());
            faqs.setContent(ob[3].toString());
            faqs.setClassId(Integer.parseInt(ob[4].toString()));
             faqs.setCname(ob[5].toString());
            list.add(faqs);
        }
        return list;
    }

第一个是dao实现层,第二个service实现层

© 著作权归作者所有

Marvel哈
粉丝 1
博文 20
码字总数 5396
作品 0
运城
私信 提问
技术专题讨论:如何对 JPA 或者 MyBatis 进行技术选型

在我们平时的项目中,大家都知道可以使用 JPA 或者 Mybatis 作为 ORM 层。对 JPA 和 Mybatis 如何进行技术选型? 下面看看大精华总结如下: 最佳回答 首先表达个人观点,JPA必然是首选的。 ...

后海
2018/06/27
1K
0
Spring Boot [组件学习-Spring Data JPA]

导读: 在上篇文章中对Spring MVC常用的一些注解做了简要的说明,在这篇文章中主要对Spring Data JPA 做一个简要的说明,并附有一个简单的例子,可以体会到Spring Data JPA 的强大之处。 Sp...

yangrd
2018/08/27
0
0
让spring-data-jpa解放你的DAO

第一次写oschina空间。先试试水,写得有点乱,改天再整理下。 最近项目用Spring-data-jpa,确实很方便。如果你也曾经被重复无聊的dao代码雷到的话,就可以考虑将ORM framework换成spring-da...

pengzai
2013/05/08
5K
3
spring-data-ebean v1.3.0 发布,超强大的 ORM 框架

超简单、超强大的 ORM 框架,OQL、SQL、ES 多查询引擎,超越 JPA、Hibernate、Mybatis。 支持的一些特性 对标准 Entity 支持完整 CRUD 操作,包括常用的查询操作 支持通过接口中的注解生成对...

yuanxuegui
2018/03/19
2.9K
24
使用 Ruby 开发代码生成器

在软件开发工程中,源代码生成工具是提升生产效率的利器。在我的工作中,曾经使用过 XLST、FreeMaker 等多种技术开发源代码生成器,最终我还是选择了脚本语言 Ruby。Ruby 以其简洁有趣的语法...

IBMdW
2012/07/21
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

php7-internal 7 zval的操作

## 7.7 zval的操作 扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己...

冻结not
昨天
4
0
溢出\越界\泄漏

溢出:栈溢出是指函数中的局部变量造成的溢出,递归次数太多也会栈溢出 一是分配的大小超过栈的最大值,char a[99999999999999999]; 二是分配的大小没有超过最大值,但是接收的buff比新buff小...

SibylY
昨天
3
0
线性表-链式(c/c++实现)

在写数据的结构就是自己排兵布阵,根据客户的需求可增删功能,顺序与链式编程思想是一样的,两个比较只需要改变实现功能这一块。 线性表(链式)实现的三个步骤: 定义所需的功能(LinkList....

白客C
昨天
4
0
导览Linux系统文件系统类型

虽然对于普通用户来说可能并不明显,但在过去十年左右的时间里,Linux 文件系统已经发生了显著的变化,这使它们能够更好对抗损坏和性能问题。 如今大多数 Linux 系统使用名为 ext4 的文件系统...

老孟的Linux私房菜
昨天
4
0
Eureka重要对象简介

在进行分析EurekaClient和EurekaServer之间通信的源码之前,我们首先需要熟悉一下几个实体类 InstanceInfo 这个类代表着EurekaClient实例,客户端向服务端请求注册时就会携带着这个实例,这个...

Java学习录
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部