maven项目构建出现的问题

第一个问题:依赖包下载不全

這表明:在本地倉庫中出現了依賴jar包不完整的異常。此時需要對本地倉庫進行更新,或者在setting.xml中添加映射<mirror>(内部代碼請自行百度)</mirror>,然後在更新maven的整個項目時,勾選上如圖所示。


第二個問題:

web層一開始創建時,需要導入servlet-api的jar包,存在頁面文件,還需要導入jsp-api的jar包。注意:一般某一層用到的jar包如果在其他層不會使用到,那麽就在該層導入即可。因爲有時候在比較上級的層結構中導入一些jar包時,會使得其他一些配置文件出錯。

第三個問題:

在測試springData Jpa的時候,一定要記得開啓數據庫服務器,否則tomcat會一直報超時連接錯誤。

第四個問題:

SpringData Jpa在簡化dao层操作时,是通过动态代理的方式完成的。动态代理需要接口及其实现类,所以如图所示。

定义一个接口,因为是简化,所以我们只需要继承它写好的接口即可,然后用实现类对象调用方法。

通过动态代理,生成实现类对象,然后调用接口中所有的增删改查方法。

注意:接口的两个参数分别表示:

T:Standard,即实体类class

ID extends Serializable:数据表的主键属性类型(eg:Integer/varchar)

第四个问题:springDataJpa在持久层dao中定义方法的两种方式

/**
	 * 方式一:按照SpringDataJpa的规范定义方法名(即findBy开头+实体类中的属性名)
	 * 实体类中不存在的属性名,会报错
	 * @param sname
	 * @return
	 */
	public List<Standard> findByName(String sname);
	
	/**
	 * 方式二:自定义方法名(指定执行的语句)
	 * 需要添加注解@Query
	 *   参数:nativeQuery--是否执行本地查询,即执行sql语句;
	 *   				      默认为false,即执行jpql语句
	 *   	 value="sql语句/jpql语句"
	 * 如果执行的是增删改语句,就需要再添加一个注解@Modifying
	 * @param sname
	 * @return
	 */
	//执行sql语句
	@Query(nativeQuery=true,value="select * from T_STANDARD where C_NAME=?")
	public List<Standard> findByAbc(String sname);
	//执行jpql语句
	@Query(value="from Standard where name=?")
	public List<Standard> findByXyz(String sname);
	//执行更新语句
	@Query(value="update Standard set name=? where id=?")
	@Modifying
	public void update(String name,int id);

猜你喜欢

转载自blog.csdn.net/kyy_123/article/details/80737180
今日推荐