subjectdao.java
来自「使用annotation封装的jdbc」· Java 代码 · 共 61 行
JAVA
61 行
package example.db.dao;
import java.util.ArrayList;
import cn.cja.sql.Query;
import cn.cja.sql.SubQuery;
import cn.cja.sql.Update;
import example.SubjectMapper;
import example.db.entity.Comment;
import example.db.entity.Subject;
public interface SubjectDAO {
@Query("select * from subjects where id=?")
public Subject getById(int id);
/**
* 可自定义注入beans的方法(实现IORMapper接口)
*
* @param id
* @return
*/
@Query(value = "select * from subjects where id=?", orm = SubjectMapper.class)
public Subject getByIdWidthCustomMapper(int id);
/**
* 带子查询
*
* @param id
* @return
*/
@Query(value = "select * from subjects where id=?", subs = { @SubQuery(queryId = "myComment", params = { "id" }, property = "commentList") })
public Subject getByIdWidthSubQuery(int id);
@Query(id = "myComment", value = "select * from comments where subjectId=?", entityClass = Comment.class)
public ArrayList<Comment> getAllComment(int subjectId);
@Query("select * from subjects")
public Subject[] getAll1();
/**
* 容器类要用实类(不能用List之类的接口),并且要定义entityClass
*
* @return
*/
@Query(value = "select * from subjects", entityClass = Subject.class, subs = { @SubQuery(queryId = "myComment", params = { "id" }, property = "commentList")})
public ArrayList<Subject> getAll2();
@Query("select last_insert_id() from subjects")
public int getLastInsertSubjectId();
/**
* @Update就比较寒酸了,仅仅用来执行无返回的sql而已
* @param title
* @param content
*/
@Update("insert into subjects(title,content) values(?,?)")
public void insertSubject(String title, String content);
@Update("insert into comments(title,content,subjectId) values(?,?,?)")
public void insertComment(String title, String content, int subjectId);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?