hibernate3
hibernate3
(整合到spring中的core核心配置中的hibernate3)
<!-- 基于hibernate的Session工厂 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<!-- 数据源,在这里使用了第三方的连接池当做数据源 ,该参考类要实现了sql.dateSource接口 -->
<property name="dataSource" ref="dbcp_dateSource">
</property>
<!-- 将hibernate的设置参数引入Spring配置,如此就不用单独设置hibernate配置文件 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
</props>
</property>
<!-- 要扫描的包,导入包内注解好映射的实体类 -->
<property name="packagesToScan" value="com.twogold.dto"></property>
</bean>
1.创建实体类,在实体类中注解每一项属性,并对对应关系进行描述(一对一,一对多,多对多)。
2.根据业务接口层中的方法给出dao层接口。
3.实现dao层接口中的方法,通过
@Repository(value=“projectDao”)
(这是为这一个实现类取名字,以便后面注解根据名字调用);然后在接口实现类中聚合一个
@Resource(name="sessionFactory")
priavte SessionFactory sf;(这样就能得到session工厂。(但是为了提高session的利用率 就通过sf.getCrrentSession()这样每次都用的是当前的session,避免了每次都得到一个
新session)
4.封装业务逻辑层接口;
5.给出业务逻辑层接口的实现,
接口实现类中的注解
(类外注解)
@Service()
@Transactional(propagation=propagation.REQUIRED)(事务注解)
(类中聚合一个dao层接口)
(类内注解)
@Resource(name=“projectDao”)(这那么是dao层事项类中为类开始取的名字,如果么有取名字,那么就该和实现类的名字一样。)
priavet IProjectDao dao;
6.前后台之间中央控制类,该类对前台页面的请求调用对应的方法;
(类外注解)
@Controller
(类内注解)
@Resource
private IProjectservice service;(聚合业务逻辑接口类)
@Resource(name=“systemParameSetting”)
private ISysParSettingService sss;
@RequestMapping(value=“{id}/view”)
//@RequestBody 返回一个json格式的数据
public String viewProject(
@PathVariable("id") int id,({id}大括号用@PathVariable方法参数)
HttpServletRequest req
){
Project project = service.getProjectById(id);
//return 吧对象转为json对象
req.setAttribute("project", project);
return "projectDeclare/view";
@RequestMapping("/update")
public String update(
@ModelAttribute Project p,
HttpServletRequest req
){
service.updateProject(p);
return null;
}
@RequestMapping("/year")
public String getYear(
@RequestParam(value="areaId", defaultValue="2") int areaId,(为参数指定默认值和类型)
HttpServletRequest req
){
List<String> year=service.findYear(areaId);
req.setAttribute("year",year);
return "projectDeclare/reqquisition_collect_list";
}
@RequestMapping("/{id}/update")
public String updateProject(
@PathVariable("id") int id,
@RequestParam("assistanceFinancing") String af,(应该是前台传过来时的name)
@RequestParam("otherFinancing") String of,
@RequestParam("selfFinancing") String cf,
HttpServletRequest req
){
int iaf = new Integer(af);
int iof = new Integer(of);
int icf = new Integer(cf);
int totil = iaf + iof+ icf;
Project p = service.getProjectById(id);
p.setAssistanceFinancing(iaf);
p.setOtherFinancing(iof);
p.setSelfFinancing(icf);
p.setTotal(totil);
service.updateProject(p);
return "redirect:/1/check";
}
hibernate3的更多相关文章
- SSH整合(struts2.3.24+hibernate3.6.10+spring4.3.2+mysql5.5+myeclipse8.5+tomcat6+jdk1.6)
终于开始了ssh的整合,虽然现在比较推崇的是,ssm(springmvc+spring+mybatis)这种框架搭配确实比ssh有吸引力,因为一方面springmvc本身就是遵循spring标准,所以 ...
- Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider停住了
2015.1.24进行了服务器的搬家,搬家后,更换了新的IP,导致新的IP访问以前IP的数据库服务无法成功Initializing connection provider: org.springfra ...
- SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]
参考资料 1 ssh分页(多个例子) http://useryouyou.iteye.com/blog/593954 2 ssh2分页例子 http://459104018-qq-com.iteye. ...
- Hibernate3 和Hibernate4 在配置文件上的区别
在使用hibernate之前要首先对hibernate进行一些基础的配置信息,像映射文件XXX.hbm.xml XXX代表当前的domain的模型类名 <?xml version=" ...
- Hibernate3注解[转]
Hibernate3注解 收藏 1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="&qu ...
- Hibernate3.3.2 手动配置annotation环境
简单记录Hibernate3.3.2如何快速配置环境 一.下载hibernate-distribution-3.3.2.GA-dist.zip文件,建立User libraries. 打开window ...
- ExtJs、Struts2、Hibernate3.2登录页面的简单实现
1.思想的大致模型 2.建立数据库test和数据库表tb_user 1 CREATEDATABASE `test`; 2 CREATETABLE `test`.`tb_user` ( 3 `user ...
- Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
一.缘由 上一篇文章Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法介绍到了怎么样在Sping.MyBatis.Hibernate整合的应用中动 ...
- Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
一.开篇 这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能.所以在出来数据库方言的时候基 ...
随机推荐
- Java-类和对象基础练习
1.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它. package liu0919; public class Sanjiao { public double z(double a ...
- WebApi系列~通过HttpClient来调用Web Api接口~续~实体参数的传递
回到目录 上一讲中介绍了使用HttpClient如何去调用一个标准的Web Api接口,并且我们知道了Post,Put方法只能有一个FromBody参数,再有多个参数时,上讲提到,需要将它封装成一个对 ...
- Atitit 作用域的理解attilax总结
Atitit 作用域的理解attilax总结 1.1. 作用域是指对某一变量和方法具有访问权限的代码空间, 1 1.2. 作用域的使用提高了程序逻辑的局部性,增强程序的可靠性,减少名字冲突.1 1.3 ...
- atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc
atitit.错误:找不到或无法加载主类 的解决 v4 qa15.doc 1.1. 修改此java文件,让他启动编译,还是不能生成了新的class, 1.2. 估计ide调试锁死class ,查看de ...
- Atitit.gui api自动化调用技术原理与实践
Atitit.gui api自动化调用技术原理与实践 gui接口实现分类(h5,win gui, paint opengl,,swing,,.net winform,)1 Solu cate1 Sol ...
- javascript_basic_04之节点、元素
1.DOM:文档对象模型,Document Object Model: 2.BOM:浏览器对象模型,Browser Object Model: 3.DOM组成:核心DOM,XML DOM,HTML D ...
- JS checkbox 全选 全不选
/* JS checkbox 全选 全不选 Html中checkbox: <input type="checkbox" name="cbx" value= ...
- 《C与指针》第八章练习
本章问题 1.根据下面给出的声明和数据,对每个表达式进行求值并写出它的值.在对每个表达式进行求值时使用原先给出的值(也就是说,某个表达式的结果不影响后面的表达式).假定ints数组在内存中的起始位置是 ...
- 数据类型,隐式转换以及json,对象,引用类型,预解析 视频教程
随便看看,需要有一点一点基础. 链接:http://pan.baidu.com/s/1c20pcOC 密码:xq2x
- IO流-ZIP文档
java中通常使用ZipInputStream来读ZIP文档 ZIP文档(通常)以压缩格式存储了一个或多个文件,每个ZIP文档都有一个包含诸如文件 名字和所使用的压缩方法等信息的头.在Java中,可以 ...