小编gre*_*ude的帖子

如何向Spring Data JPA添加自定义方法

我正在研究Spring Data JPA.考虑下面的示例,我将默认使用所有crud和finder功能,如果我想自定义查找器,那么也可以在界面本身轻松完成.

@Transactional(readOnly = true)
public interface AccountRepository extends JpaRepository<Account, Long> {

  @Query("<JPQ statement here>")
  List<Account> findByCustomer(Customer customer);
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何为上述AccountRepository添加一个完整的自定义方法及其实现?由于它的接口我无法在那里实现该方法.

java spring-data spring-data-jpa

144
推荐指数
8
解决办法
15万
查看次数

抛出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我在java.lang.ClassNotFoundException尝试运行代码时遇到异常,

我的守则

   try 
   {
     Class.forName("com.mysql.jdbc.Driver");
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/simple",
      "root","root");
     Statement stmt=con.createStatement();
     String query="SELECT * FROM CUST";
     ResultSet rs=stmt.executeQuery(query);
     while(rs.next())
     {
          System.out.print(rs.getString("CUST_NAME") +" ");
          System.out.print(rs.getString(2) +" ");
          System.out.print(rs.getString(3) +" ");

     }    
     rs.close();
     stmt.close();
     con.close();    
  }   
  catch (ClassNotFoundException e) 
  {
     e.printStackTrace();
  }
  catch (SQLException e) 
  {
     e.printStackTrace();
  }    
Run Code Online (Sandbox Code Playgroud)

我收到了错误

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at Simple.MyProg.main(MyProg.java:15)   
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

java exception

18
推荐指数
3
解决办法
13万
查看次数

什么时候应该在我的应用程序中使用ACL

我很困惑何时应该在我的应用程序中实现ACL(访问控制列表)系统,虽然我可以通过获取会话组ID并使用Auth组件限制访问来轻松管理组的权限.

ACL解决方案如何比我上面讨论的方法更好(根据组ID限制组访问)?

在管理应用程序中的访问权限时,实施ACL解决方案如何简化?

到目前为止,我已经了解到,通过ACL,可以在运行时授予和撤消权限,但是在不使用ACL的情况下也可以实现此功能.

我对此非常困惑,请帮助我理解这个概念,何时使用ACL以及在Web应用程序中使用ACL的好处.

我更喜欢用cakePHP v1.3进行编码,所以如果在cakephp的上下文中给出解释会很好,但是非常感谢任何与我的问题相关的帮助(语言/技术独立).

security permissions acl

11
推荐指数
1
解决办法
3160
查看次数

关于lilith的任何好教程(日志查看器用于Logback)?

我正在使用slf4j + logback进行日志记录.我正在寻找一个好的事件日志查看器(如Apache Chainsaw).Logback网站提到Lilith.莉莉丝网站不仅丑陋(网站主页上也这样说),但也缺乏任何文件.

有没有关于如何开始使用Lilith的教程(可能我发现很难掌握,因为我从未使用过Apache Chainsaw,如果我阅读Chainsaw的教程会有帮助吗?).

此外,是否有任何替代日志查看器用于更好的文档?

java logback log-viewer apache-chainsaw

11
推荐指数
1
解决办法
8499
查看次数

@XmlRegistry - 它是如何工作的?

我发现JAXB2的一些例子@XmlRegistry在互联网上谈论使用的概念,但没有很好的深入辅导@XmlRegistry@XmlElementDecl,如果它的概念不是一般的多探索奇迹.

无论如何这里是我的问题,首先是一些我用来使用JAXB解组xml的示例类:

我正在尝试使用JAXB解组的主要类 - Employee.java

package com.test.jaxb;

import java.util.List;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.namespace.QName;

import com.test.jaxb.dto.Address;

@XmlRootElement
public class Employee {
    private int id;
    private String name;
    private String email;

    private List<Address> addresses;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() { …
Run Code Online (Sandbox Code Playgroud)

java xml jaxb jaxb2

8
推荐指数
1
解决办法
2万
查看次数

Logback是否足够成熟以取代log4j?

我已经阅读了类似的问题,就像这样这个.但他们大约四岁了!

此外,我已经阅读了这个回溯页面,其中有一些非常好的信息,说明为什么选择Logback over log4j.

我希望为具有以下技术堆栈的项目实现日志框架 -

  • 弹簧
  • 过冬
  • Maven的
  • Tomcat的
  • 休息

我已经决定使用slf4j作为外观,所以这个问题是关于是否使用slf4j + log4j或slf4j + logback(我知道logback本身使用slf4j).

我正在寻找的是 -

  • 有没有人有过使用Logback的经验,证明它不像log4j那样成熟或高效?
  • 与多线程环境中的log4j相比,它是如何公平的?
  • 能够使用logback/log4j日志记录替换tomcat-default jul日志记录
  • 能够将日志记录配置合并到maven多模块项目的公共文件中
  • Logback声称它比log4j快10倍,是否有人验证过该声明?(作为我研究的一部分,我计划运行一些测试以测量性能,并将发回我的结果)

编辑:我已经阅读了许多地方(下面的答案之一也说明了这一点)log4j已经死亡/已弃用.与此相反,log4j刚刚发布了其2.0版本的alpha版本.所以我不买那个论点.

java log4j logback slf4j

6
推荐指数
1
解决办法
4370
查看次数

eclipse中的问题:java.lang.ClassCastException

过了两天,我每45秒不断收到一个错误对话框,标题为:

发生了多个问题

在下面说:

java.lang.ClassCastException

在详细信息中,有重复的行显示:

org.eclipse.core.internal.dtree.NoDataDeltaNode无法转换为org.eclipse.core.internal.dtree.DataTreeNode

这是一张照片:

在此处输入图片说明

我按OK,然后继续编码,我的代码在模拟器和手机上都可以正常工作,但是每分钟看到此对话框真是令人讨厌,甚至不到一分钟!

java eclipse android classcastexception java.lang.class

5
推荐指数
1
解决办法
3532
查看次数

Java 中的 SQL 结果集

您好,我刚开始使用 Java 中的 SQL(实际上不久前也开始使用 Java 也......),我创建了一个类来连接 MySQL 数据库,并且一切正常。

现在我有一个关于获得结果的问题。

在 PHP 中我会做类似的事情

While($row = mysql_fetch_assoc()) {
  echo $row['rowname'];
}
Run Code Online (Sandbox Code Playgroud)

在 Java 中,我试图创建与此类似的东西,但我不知道我是否走正确的路,或者它应该有很大不同或其他什么......这是我所做的(参见 getResultList 方法)

public class MysqlConnect{

     private String query;
     private ResultSet rs;

    public void connectToAndQueryDatabase(String database, String username, String password) throws SQLException {

            Connection con = null;
            try {
                con = DriverManager.getConnection(
                                     "jdbc:mysql://localhost:3306/" + database,
                                     username,
                                     password);
            } catch (SQLException e) {
                e.printStackTrace();
            }

            Statement stmt = con.createStatement();
            rs = stmt.executeQuery(query);
    }

    public void setQuery(String query) {

        this.query = …
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

5
推荐指数
1
解决办法
3024
查看次数