{"action":"created","issue":{"url":"https://api.github.com/repos/mybatis/mybatis-3/issues/709","repository_url":"https://api.github.com/repos/mybatis/mybatis-3","labels_url":"https://api.github.com/repos/mybatis/mybatis-3/issues/709/labels{/name}","comments_url":"https://api.github.com/repos/mybatis/mybatis-3/issues/709/comments","events_url":"https://api.github.com/repos/mybatis/mybatis-3/issues/709/events","html_url":"https://github.com/mybatis/mybatis-3/issues/709","id":160578026,"number":709,"title":"Support default methods on mapper interfaces","user":{"login":"BrassyPanache","id":469717,"avatar_url":"https://avatars.githubusercontent.com/u/469717?v=3","gravatar_id":"","url":"https://api.github.com/users/BrassyPanache","html_url":"https://github.com/BrassyPanache","followers_url":"https://api.github.com/users/BrassyPanache/followers","following_url":"https://api.github.com/users/BrassyPanache/following{/other_user}","gists_url":"https://api.github.com/users/BrassyPanache/gists{/gist_id}","starred_url":"https://api.github.com/users/BrassyPanache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BrassyPanache/subscriptions","organizations_url":"https://api.github.com/users/BrassyPanache/orgs","repos_url":"https://api.github.com/users/BrassyPanache/repos","events_url":"https://api.github.com/users/BrassyPanache/events{/privacy}","received_events_url":"https://api.github.com/users/BrassyPanache/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mybatis/mybatis-3/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"harawata","id":149268,"avatar_url":"https://avatars.githubusercontent.com/u/149268?v=3","gravatar_id":"","url":"https://api.github.com/users/harawata","html_url":"https://github.com/harawata","followers_url":"https://api.github.com/users/harawata/followers","following_url":"https://api.github.com/users/harawata/following{/other_user}","gists_url":"https://api.github.com/users/harawata/gists{/gist_id}","starred_url":"https://api.github.com/users/harawata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harawata/subscriptions","organizations_url":"https://api.github.com/users/harawata/orgs","repos_url":"https://api.github.com/users/harawata/repos","events_url":"https://api.github.com/users/harawata/events{/privacy}","received_events_url":"https://api.github.com/users/harawata/received_events","type":"User","site_admin":false},"assignees":[{"login":"harawata","id":149268,"avatar_url":"https://avatars.githubusercontent.com/u/149268?v=3","gravatar_id":"","url":"https://api.github.com/users/harawata","html_url":"https://github.com/harawata","followers_url":"https://api.github.com/users/harawata/followers","following_url":"https://api.github.com/users/harawata/following{/other_user}","gists_url":"https://api.github.com/users/harawata/gists{/gist_id}","starred_url":"https://api.github.com/users/harawata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harawata/subscriptions","organizations_url":"https://api.github.com/users/harawata/orgs","repos_url":"https://api.github.com/users/harawata/repos","events_url":"https://api.github.com/users/harawata/events{/privacy}","received_events_url":"https://api.github.com/users/harawata/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/mybatis/mybatis-3/milestones/15","html_url":"https://github.com/mybatis/mybatis-3/milestones/3.4.2","labels_url":"https://api.github.com/repos/mybatis/mybatis-3/milestones/15/labels","id":1844567,"number":15,"title":"3.4.2","description":null,"creator":{"login":"emacarron","id":1587939,"avatar_url":"https://avatars.githubusercontent.com/u/1587939?v=3","gravatar_id":"","url":"https://api.github.com/users/emacarron","html_url":"https://github.com/emacarron","followers_url":"https://api.github.com/users/emacarron/followers","following_url":"https://api.github.com/users/emacarron/following{/other_user}","gists_url":"https://api.github.com/users/emacarron/gists{/gist_id}","starred_url":"https://api.github.com/users/emacarron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emacarron/subscriptions","organizations_url":"https://api.github.com/users/emacarron/orgs","repos_url":"https://api.github.com/users/emacarron/repos","events_url":"https://api.github.com/users/emacarron/events{/privacy}","received_events_url":"https://api.github.com/users/emacarron/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":3,"state":"open","created_at":"2016-06-23T03:42:01Z","updated_at":"2016-07-10T17:35:23Z","due_on":null,"closed_at":null},"comments":7,"created_at":"2016-06-16T05:01:32Z","updated_at":"2016-07-10T18:04:00Z","closed_at":"2016-07-10T17:31:32Z","body":"I'd like support for default methods on mapper interfaces.  Currently if a method is not implemented (even if it is a default method) an exception is thrown:\r\n\r\n```java\r\n      if (ms == null) {\r\n        if(method.getAnnotation(Flush.class) != null){\r\n          name = null;\r\n          type = SqlCommandType.FLUSH;\r\n        } else {\r\n          throw new BindingException(\"Invalid bound statement (not found): \" + statementName);\r\n        }\r\n      }\r\n```\r\n\r\nI believe it would be relatively easy to add a type ```SqlCommandType.ABSTRACT``` and call the underlying default function.\r\n\r\nIt is a useful feature because it allows you to put helper methods on mappers."},"comment":{"url":"https://api.github.com/repos/mybatis/mybatis-3/issues/comments/231602280","html_url":"https://github.com/mybatis/mybatis-3/issues/709#issuecomment-231602280","issue_url":"https://api.github.com/repos/mybatis/mybatis-3/issues/709","id":231602280,"user":{"login":"harawata","id":149268,"avatar_url":"https://avatars.githubusercontent.com/u/149268?v=3","gravatar_id":"","url":"https://api.github.com/users/harawata","html_url":"https://github.com/harawata","followers_url":"https://api.github.com/users/harawata/followers","following_url":"https://api.github.com/users/harawata/following{/other_user}","gists_url":"https://api.github.com/users/harawata/gists{/gist_id}","starred_url":"https://api.github.com/users/harawata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/harawata/subscriptions","organizations_url":"https://api.github.com/users/harawata/orgs","repos_url":"https://api.github.com/users/harawata/repos","events_url":"https://api.github.com/users/harawata/events{/privacy}","received_events_url":"https://api.github.com/users/harawata/received_events","type":"User","site_admin":false},"created_at":"2016-07-10T18:04:00Z","updated_at":"2016-07-10T18:04:00Z","body":"Never mind. It should be fixed in the latest 3.4.2-SNAPSHOT.\r\nPlease let me know if it works as you expected."}}
{"actor":{"display_login":"harawata"}}