SessionFactory在spring-common.xml被配置,
controller调用service调用dao调用具体的类文件。
调用时要在spring-common.xml里写上
<bean id="userDao" class="xx.xx.dao.UserDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userService" class="xx.xx.service.UserService">
<span style="white-space:pre"> </span><property name="userDao" ref="userDao" />
</bean>
这次项目,比如说 实现一个获取数据库的数据
首先是Dao类
//声明一个 SessionFactory对象
private SessionFactory sessionFactory;
//从数据库中读取
public List<Experience> getExperienceByUid(int uid){
Session session = sessionFactory.openSession();
Query query = session.createSQLQuery("sql语句");
query.setString("uid",Integer.toString(uid) );
List list = query.list();
session.close();
return list;
}
//不能忘了set方法
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
接下来是Service类
private ExperienceDao experienceDao;
public List<Experience> getExperienceList(int uid) {
List<Experience> list = experienceDao.getExperienceByUid(uid);
return list;
}
public void setExperienceDao(ExperienceDao experienceDao) {
this.experienceDao = experienceDao;
}
最后是controller
int uid = user.getUid();//这个user是User user = (User) request.getSession().getAttribute("user");
mv.setViewName("sender_homepage");
List<Experience> list = experienceService.getExperienceList(uid);
mv.addObject("experiencelist", list);
对,还有界面静态输出表格
<tbody>
<c:forEach items="${experiencelist}" var="experience">
<tr>
<td><a href="experiencedetail.html?eid=${experience[5]}">${experience[0] }</a></td>
<td>${experience[1] }</td>
<td>${experience[2] }</td>
<td>${experience[3] }</td>
<td>${experience[4] }</td>
</tr>
</c:forEach>
</tbody>
好了 获取写完了,接着是获取界面输入的内容并存入数据库
//Dao类中
public int addExperienceToDB(Experience object){
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try{
session.save(object);
tx.commit();
} catch (ConstraintViolationException e) {
throw e;
} finally {
session.close();
}
return object.getEid();
}
Service类
public int addExperience(String keyword, String title, String content,
HttpServletRequest request) {
Experience experience = new Experience();
User user = (User)request.getSession().getAttribute("user");
experience.setAuthor(user.getUid());
experience.setKeyword(keyword);
experience.setContent(content);
experience.setTitle(title);
try{
int eid = experienceDao.addExperienceToDB(experience);
return eid;
} catch (ConstraintViolationException e) {
throw e;
}
}
Controller
@RequestMapping(value="/send_experience")
public @ResponseBody String send_experience(@RequestParam(value="keyword") String keyword,
@RequestParam(value="title")String title,@RequestParam(value="content") String content,HttpServletRequest request) {
JSONObject json = new JSONObject();
try{
int eid = experienceService.addExperience(keyword, title, content, request);
json.put("status", "0");
json.put("eid", eid);
} catch ( ConstraintViolationException e ){
json.put("status", "-1");
}
return json.toString();
}
js文件
$(document).ready(function(){
$("#id_btn_send").click(function(){
var keyword = $("#experience_keyword").val();
var title = $("#title").val();
var content = ue.getContent();
$.ajax({
type:"POST",
url:"send_experience",
data:{
"keyword":keyword,
"title":title,
"content":content
},
dataType:"json",
success:function(data){
if(data['status']=='0'){
alert('发送成功!');
location.href="experiencedetail?eid="+data['eid'];
} else if( data['status']=='-1' ) {
alert('发送失败!');
}
}
});
});
});
好了 ,这样就完成了