LCDS-ES 与 Hibernate3,SQLServer的整合

  其实LCDS与Hibernate3(目前最新版本好像是Hibernate3.5.4)的整合很容易,熟悉Hibernate的朋友都可以轻易完成。下面我就简单给出步骤和代码,不懂的朋友再问我吧!
  hibernate.cfg.xml我就先不讲,为下面讲Hibernate与SQLServer的整合埋下伏笔,呵呵。首先是Hibernate 的模型类,这个类也就是简单的pojo类,用惯了Hibernate的朋友可能都会喜欢用annotation,简洁明了,而且又不容易犯错(当然有些项目最好还是用.hbm.xml文件来配置)。下面就给出我写的这个类。 package ling.model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="admin") public class Admin { private int adId; private String adName; private String adPwd; @Id @GeneratedValue public int getAdId() { return adId; } public void setAdId(int adId) { this.adId = adId; } public String getAdName() { return adName; } public void setAdName(String adName) { this.adName = adName; } public String getAdPwd() { return adPwd; } public void setAdPwd(String adPwd) { this.adPwd = adPwd; } } 接下去就写一个Service类来使用这个model类。比较容易,作用是访问数据库,由admin名字获得admin密码。 package ling.control.server; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.AnnotationConfiguration; public class AdminServer { public String getAdminInfo(String adName){ SessionFactory sf = new AnnotationConfiguration().configure().buildSession Factory(); Session session = sf.getCurrentSession(); session.beginTransaction(); Query query = session.createSQLQuery("select adPwd from admin a where a.adName='"+adName+"'"); @SuppressWarnings("unchecked") List strs = (List)query.list(); session.getTransaction().commit(); String str = "NONE"; if(strs.size() > 0) str = strs.get(0); System.out.println(str); return str; } } 可能你已经发现,model类好像没起多大作用。本测试程序由于只取出一个字符串,所以暂时没用List来传出值。但之后如果还要写保存的话,用这个类会方便很多。接下来就讨论一下用SQLServer数据库的问题。
  以前写Java应用时用的大都是mySQL,没试过在Java中使用SQLServer。.NET用过一段时间后,发现SQLServer的功能还是蛮强大,蛮方便的,而且我做的一个项目使用的数据库就是SQLServer,所以只好试一试Hibernate3与SQLServer的整合。
  搞了好久,什么错误都碰到了,直到最后一个错误,这个最难解决。老是提示:"com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect。"后来实在是摸索不出办法,于是就到网上去找了一下原因。发现是SQLServer 默认的安全性问题,它的TCP/IP链接默认是禁止的。把它打开之后运行Flex4程序,成功了!关于上面这个错误的解决可以参考这篇文章:http://blog.csdn.net/jack850703/archive/2009/05/08 /4160630.aspx。
  经过我的测试,这个小项目里要跑动测试程序,Hibernate相关的至少需要下面这些包:
  
  当然Flex4需要的包就另当别论了。
  最后讲一下使用时,SQLServer在hibernate.cfg.xml中怎么配置,我直接copy过来了:
  
  
  
  
  com.microsoft.sqlser ver.jdbc.SQLServerDriver
  jdbc:sqlserver://localhost:14 33;DatabaseName=testAdmin;
  sa
  123456
  org.hibernate.dialect.SQLServerDiale ct
  
  1
  
  thread
  
  org.hibernate.cache.NoC acheProvider
  
  true
  true
  update-->
  
  
  
  哦,对了,如果你用的是SQLServer2005,需要驱动的话可以到下面这个网址上去下载,我刚上传了:
  http://lingyibin.qupan.com/6601079.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值