🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## @Sql 使用@Sql注解可以提供一个Sql语句 ```java @Sql("select * from sys_user where id = ?") @Select UserEntity queryUserById(Integer id); ``` 当调用queryUserById的时候,会从@Sql上获得执行的sql,会从方法参数中按顺序获得sql的参数,底层会有如下类似调用 ```java List list = sqlManager.execute(new SQLReady(sql,new Object[]{id}),UserEntity.class); return list.get(0); ``` @Select注解标识这是一个查询操作,另外一个是@Update,和@BatchUpdate注解,标识更新操作和批量跟新,如果@Sql没有使用@Select和@Update,则默认是查询操作 如下执行更新操作 ```java @Sql("update sys_user set name=? where id = ?") @Update int updateName(String name,Integer id); ``` 当调用updateName方法的时候,相当于底层会有如下类似调用 ```java return sqlManager.executeUpdate(new SQLReady(sql,new Object[]{name,id}) ``` > @Sql注解的实现org.beetl.sql.mapper.ready包下。