我目前正在使用带有Spring MVC框架的JDBC模板访问数据和创建查询。我听说这不是一种有效的访问数据的方法,因为它有很多不必要的样板代码,并想知道是否有另一种方法来做这个E.G. Spring JPA / hibernate但仍不确定如何实现。
使用JDBC模板的简单示例
pip install -U sympy
//实体类
//DAO Class
@Repository
public class UserDAO {
private final String GET_USERS_SQL = "SELECT users.username AS 'users.username',\n"
+ " users.enabled AS 'users.enabled',\n"
+ " users.timestamp AS 'users.timestamp',\n"
+ " users.id AS 'users.id'\n"
+ " FROM users";
@Autowired
private JdbcTemplate jt;
public List<User> getAllUsers() {
List<User> users = this.jt.query(GET_USERS_SQL, new UserRowMapper());
return users;
}
}
}
代码工作正常,但这可能导致问题,例如样板代码 任何人都知道如何将其更改为更简单的版本?
谢谢
答案 0 :(得分:0)
您可以使用spring Jpa Data:
@Repository
public interface UserDAO extends CrudRepository<User, Long>, PagingAndSortingRepository<User, Long> {
}
服务类:
@Service
public UserService {
@Resource
private UserDoa dao;
@Transactional
public List<User> getAllUsers() {
List<User> users = dao.findAll();
return users;
}
}
的列表
你也可以在更复杂的场景中使用queryDsl and Specifications,你可以摆脱几乎所有的sql样板。
答案 1 :(得分:0)
使用Spring Data JPA,您可以为您生成大量代码。
主要步骤:
您现在可以使用存储库。将生成实现。
查看详细说明:http://docs.spring.io/spring-data/jpa/docs/1.9.4.RELEASE/reference/html/#repositories.core-concepts