機能紹介(写真):
機能解析
このエコー変更関数は、実際には次の手順と見なすことができます。
-
idによると、クエリ会社
-
次に、クエリされたデータをこの編集および更新ページに渡します
-
ページはバックグラウンドから値を取得し、値を1つずつフォームに割り当てます(エコー機能を実現するため)
-
現時点では、フォームの値を変更できます
-
最後に保存し、変更機能を実現します
コードの特定のレイヤー:
TestCompanyService(私はテスト駆動型開発のためにここにいるので、最初にテストクラスに来て、idに基づいてクエリ関数をテストし、次にクエリされた会社の値を変更して更新関数を実現します)
@Test
public void test04(){
//回显查询
String id="c795075e-6d90-4e29-b46c-5efb5b015ca5";
Company company = companyService.findById(id);
log.info(company+"");
company.setName("青软实训");
companyService.updateCompany(company);
}
ICompanyService
//根据id查询
Company findById(String id);
//更新company的值
void updateCompany(Company company);
CompanyServiceImpl
@Override
public Company findById(String id) {
//service层调用dao层的findById方法,实现对数据库的操作
Company company = iCompanyDao.findById(id);
return company;
}
ICompanyDao
//根据id查询
Company findById(String id);
//更新company的值
void updateCompany(Company company);
ICompanyDao.xml
<select id="findById" parameterType="string" resultType="company">
select
id,
name ,
expiration_date as expirationDate ,
address,
license_id as licenseId ,
representative ,
phone ,
company_size as companySize ,
industry ,
remarks ,
state,
balance ,
city
from ss_company
where id = #{id}
</select>
<update id="update" parameterType="company">
update ss_company
set name = #{name },
expiration_date= #{expirationDate},
address = #{address },
license_id = #{licenseId },
representative = #{representative },
phone = #{phone },
company_size = #{companySize },
industry = #{industry },
remarks = #{remarks },
state = #{state },
balance = #{balance },
city = #{city }
where id = #{id}
</update>
テストメソッドTestCompanyServiceの実行効果:
メソッドテストに合格しました!
次はコントローラーレイヤーの開発で、フロントエンドページに配置してエコーと割り当てを実現します
CompanyController
//${path}/company/toEdit.do?id=${item.id}
@RequestMapping(path="/toEdit",method = RequestMethod.GET)
public String toEdit(String id,Model model){
l.info("toEdit id="+id);
Company company=iCompanyService.findById(id);
l.info("toEdit company="+company);
model.addAttribute("company",company);
//走视图解析器,跳转页面
return "company/company-update";
}
表紙
company-update.jsp
el式とifタグを使用してエコーを実現します。
最終フォームが送信さaction="${path}/company/update.do"
れ、コントローラーレイヤーに移動します。次に、コントローラーレイヤーがサービスレイヤーを調整してdaoレイヤーを調整し、データの変更を実現します。