用hibernate+ajax做页面的显示

 1、显示

 在要显示的页面body后写<script type="text/javascript">把ajax写入</script>

$(function(){
	$.ajax({
	       type: "POST",
	       url: "/ZhangMengNa/cuisine!showAll",   //项目名/文件名/要实现是显示方法
	       data: $('#form').serialize(),          // 
	       dataType:"json",
	       success: function (res) {
	    	  if(res!=null&&res.length>0){
	    		  var _tr='';
	    		  $("#TableData").empty(); //先清空列表,列表的名称
		    	  $.each(res,function(i,v){ //每循环一次数组的时候,拼接一条html
		    		  
		    		  _tr=_tr+'<tr align="center" valign="middle" id="TableTitle"><td>'+v.cid+'</td><td>'+v.cname+'</td><td>操作</td></tr>'
		    	  });
		    	  $("#TableData").append(_tr); //在循环之后将拼接后的html追加到根节点(列表) 
	    	  }
	    	  
	       },
	       error: function(data) {
	      		alert("系统异常");
	       }
	     });

});

配置struts.xml

<action name="cuisine!*"    //ajax url中写的名字
class="com.dyx.controller.CuisineController" //类路径 类名首字母大写
method="{1}">
	
		
</action>

粘贴类路径创建类 创建方法 在 controller包下

package com.dyx.controller;

public class CuisineController{
    //注意struts2 CourseController中所有方法的返回值类型都是String *****
	//接口
    //在类下创建属性,写他的set get方法
    
    List<Cuisine> list=null;     //要有一个Cuisine集合 还要有他的get set方法                                                            
    public String showAll() {    //在ajax url中写的方法在这里进行创建


    return "showAll";//----》result 标签的name属性有关 把集合传递到页面上

    }  
    //List集合的get set方法
    public List<Cuisine> getList() {
		return list;
	}
	public void setList(List<Cuisine> list) {
		this.list = list;
	}

}

在struts.xml 配置result标签

<action name="cuisine!*"    //ajax url中写的名字
class="com.dyx.controller.CuisineController" //类路径 类名首字母大写
method="{1}">
	<result name="showAll" type="json">  //显示方法
			<param name="root">list</param>
		</result>	
		
</action>

配置好后集合就可以往回调函数中专递了

在CuisineController中没有Cuisine

 创建一个Cuisine   在pojo包下

package com.dyx.pojo;

public class Cuisine {
	private Integer cid;
	private String cname;

    //创建这两个属性的get set方法
	public Integer getCid() {
		return cid;
	}
	public void setCid(Integer cid) {
		this.cid = cid;
	}
	public String getCname() {
		return cname;
	}
	public void setCname(String cname) {
		this.cname = cname;
	}
}

在CuisineController中调Service、Dao层完整查询的功能

package com.dyx.controller;

public class CuisineController{
    //注意struts2 CourseController中所有方法的返回值类型都是String *****
	//接口
    //接口                         实现类
    CuisineService cservice = new CuisineServiceImpl//通过接口的方式创建一个实现类对象 不需要创建get set方法
    
    List<Cuisine> list=null;     //要有一个Cuisine集合 还要有他的get set方法                                                            
    
    public String showAll() {    //在ajax url中写的方法在这里进行创建 主要负责接传值
    return "showAll";//----》result 标签的name属性有关 把集合传递到页面上

    }  
    //Cuisine集合的get set方法
    public List<Cuisine> getList() {
		return list;
	}
	public void setList(List<Cuisine> list) {
		this.list = list;
	}

在service包下创建CuisineService接口

package com.dyx.service;

public interface CuisineService {
	
}

在service.impl包下创建CuisineService接口的实现类CuisineServiceImpl

package com.dyx.serviceimpl;

import com.dyx.service.CuisineService;

public class CuisineServiceImpl implements CuisineService {
	
}

在CuisineController中通过 cuisine.shollAll 给list集合赋值在showAll下

public String showAll(){
		list=cservice.showAll();
		return "showAll";//-->result 标签的name属性
	}

在接口CuisineService中需要返回一个集合showAll方法

package com.dyx.service;

import java.util.List;

import com.dyx.pojo.Cuisine;

public interface CuisineService {

	List<Cuisine> showAll();

}

在实现类CuisineServiceImpl中添加showAll方法

调用Dao层方法

package com.dyx.serviceimpl;
import java.util.List;
import com.dyx.dao.CuisineDao;
import com.dyx.pojo.Cuisine;
import com.dyx.service.CuisineService;

public class CuisineServiceImpl implements CuisineService {
	CuisineDao cdao=new CuisineDao();   //调用Dao层方法
	public List<Cuisine> showAll() {
		return cdao.showAll();          //因调用Dao层方法所以需要返回一个cdao.showAll()
	}
	
}

创建CuisineDao层  在Dao包下创建

再创建Dao层方法

package com.dyx.dao;

import java.util.List;

import org.hibernate.Session;

import com.dyx.pojo.Cuisine;
import com.dyx.util.DBUtil;

public class CuisineDao extends DBUtil{  //继承DBUtil 

	Session hibernateSession = getSession();  //在中DBUtil 获取一个Session

	public List<Cuisine> showAll() {   
		return hibernateSession.createQuery("from Cuisine").list(); 
	}
	

}
package com.dyx.util;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.dyx.pojo.Cuisine;



public class DBUtil {
	public Session getSession(){
		//加载配置文件
        Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
//        根据配置文件获取session工厂对象
        SessionFactory sessionFactory = cfg.buildSessionFactory();
//        从session工厂里面获取session对象
        Session session = sessionFactory.openSession();
//        开启事务
		return session;
		
	}
	
	/*public Session getCourseSession(){
		//加载配置文件
        Configuration cfg = new Configuration().configure("Course.cfg.xml");
//        根据配置文件获取session工厂对象
        SessionFactory sessionFactory = cfg.buildSessionFactory();
//        从session工厂里面获取session对象
        Session session = sessionFactory.openSession();
//        开启事务
		return session;
		
	}*/
	
	
	public static void main(String[] age){
		  
//	        加载配置文件
	        Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
//	        根据配置文件获取session工厂对象
	        SessionFactory sessionFactory = cfg.buildSessionFactory();
//	        从session工厂里面获取session对象
	        Session session = sessionFactory.openSession();
//	        开启事务
	        Transaction tx = session.beginTransaction();
//	        保存更新数据
	      Cuisine cui = new Cuisine();
	       // cui.setCid("1");
	        cui.setCname("zhangsan");
	        session.save(cui);
	        System.out.println();
//	        提交事务
	        tx.commit();
//	        关闭资源
	        session.close();
	    }
	
}

写一个映射文件 在pojo包下创建cuisine.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    
<hibernate-mapping>
    <class name="com.dyx.pojo.Cuisine" table="t_cuisine">  //地址 表名
        
        <id name="cid" column="cid">                       
    		<generator class="native"/>       
       </id>
        <property name="cname" column="cname"></property>
       
    </class>
</hibernate-mapping>

在hibernate.cfg.xml中添加映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 配置连接数据库的基本信息 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dongyx?useUnicode=true&amp;characterEncoding=UTF8</property>      数据库名称
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">x5</property>
        <!-- 配置hibernate方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- hibernate显示发送sql语句 -->
        <property name="hibernate.show_sql">true</property>
        <!-- hibernate格式化sql语句 -->
        <property name="hibernate.format_sql">true</property>
        <!-- 数据定义语言,主要是对表的操作 -->
        <property name="hibernate.hbm2ddl.auto">update</property>
        <!-- hibernate映射文件加载 -->
        <mapping resource="com/dyx/pojo/cuisine.hbm.xml"/>
        <mapping resource="com/dyx/pojo/caipin.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值