介绍
- 在注解里写sql , 懒得在手动的去引入jdbctemplate后写一大堆东西
 
- 还未完成的功能
- @delete 删除注解
 - @Update 更新注解
 - @Insert 注解
 
 - 已完成的功能    
- @Query 查询注解
 
 
引入依赖
<dependency><groupId>cn.jdevelops</groupId><artifactId>caches-jdbctemplate</artifactId><version>2.0.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!-- 可选依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
使用参考
@Query
数据库别忘了连接
- 新增接口类 ```java package cn.tannn.cachesjdbctemplate.service;
 
import cn.tannn.cachesjdbctemplate.UserBO; import cn.tannn.cachesjdbctemplate.entity.User;
import java.util.List;
/**
- @author tnnn
 - @version V1.0
 - @date 2022-08-01 13:41 */ public interface QueryUserService {
 
List<User> findAll();User findById();User findById(Integer id);User findByBean(UserBO user);List<User> findByBean2(UserBO user);String findNameById(Integer id);List<String> findName();Integer findIdByName(String name);List<Integer> findId();
}
2. 新增接口实现类(暂未解决不实现就能处理的功能> 1. 在方法构建查询注解```javapackage cn.tannn.cachesjdbctemplate.service;import cn.jdevelops.jdbctemplate.annotation.Query;import cn.tannn.cachesjdbctemplate.UserBO;import cn.tannn.cachesjdbctemplate.entity.User;import org.springframework.stereotype.Service;import java.util.ArrayList;import java.util.List;/*** @author tnnn* @version V1.0* @date 2022-08-01 13:41*/@Servicepublic class QueryUserServiceImpl implements QueryUserService {@Override@Query(value = "select * from sys_user",clazz = User.class)public List<User> findAll() {return new ArrayList<>();}@Override@Query(value = "select * from sys_user where id = 1 ",clazz = User.class)public User findById() {return new User();}@Override@Query(value = "select * from sys_user where id = #{id} ",clazz = User.class)public User findById(Integer id) {return new User();}@Override@Query(value = "select * from sys_user where name = '#{user.name}' or login_name = '#{user.loginName}' ",clazz = User.class)public User findByBean(UserBO user) {return new User();}@Override@Query(value = "select * from sys_user where name = '#{user.name}' or login_name = '#{user.loginName}' ",clazz = User.class)public List<User> findByBean2(UserBO user) {return new ArrayList<>();}@Override@Query(value = "select name from sys_user where id = #{id} ",clazz = String.class)public String findNameById(Integer id) {return "";}@Override@Query(value = "select name from sys_user",clazz = String.class)public List<String> findName() {return new ArrayList<>();}@Override@Query(value = "select id from sys_user where name = '#{name}' ",clazz = Integer.class)public Integer findIdByName(String name) {return null;}@Override@Query(value = "select id from sys_user",clazz = Integer.class)public List<Integer> findId() {return new ArrayList<>();}}
- 测试 ```java package cn.tannn.cachesjdbctemplate;
 
import cn.tannn.cachesjdbctemplate.service.QueryUserService; import org.junit.Assert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.dao.EmptyResultDataAccessException;
@SpringBootTest class QueryTest {
@Autowiredprivate QueryUserService userService;@Testvoid findAll() {userService.findAll().forEach(it -> System.out.printf(it.toString()));}@Testvoid findById() {System.out.println(userService.findById());}@Testvoid findById2() {System.out.println(userService.findById(2));}@Testvoid findById3() {Assert.assertThrows(EmptyResultDataAccessException.class, () ->{userService.findById(3);});}@Testvoid findByBean() {UserBO userBO = new UserBO();userBO.setName("根据指定key更新1");userBO.setLoginName("user7");System.out.println(userService.findByBean(userBO));}@Testvoid findByBean2() {UserBO userBO = new UserBO();userBO.setName("根据指定key更新");userBO.setLoginName("user7");userService.findByBean2(userBO).forEach(it -> System.out.println(it.toString()));}@Testvoid findName() {userService.findName().forEach(System.out::println);}@Testvoid findId() {System.out.println(userService.findId());}@Testvoid findIdByName() {System.out.println(userService.findIdByName("根据指定key更新1"));}
}
```
