




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
eclipse下配置hibernate用datasource连接数据库的问题精彩对话:甲:我把hibernate.cfg.xml文件内容帖出来给大家看看: java:comp/env/jdbc/oradb org.hibernate.connection.DatasourceConnectionProvider org.hibernate.dialect.Oracle9Dialect true 运行时包错如下:log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system .hibernate.HibernateException: Could not find datasource at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56) at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at hibernate.demo01.PersonOperate.(PersonOperate.java:21) at hibernate.demo01.PersonTest.main(PersonTest.java:17)Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:280) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52) . 8 moreException in thread main 甲:Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial这句话还要我配置个什么文件?哪位老大能给解决下?乙:Could not find datasource你datasource配好了吗?甲:ource配好了的,偶都测试过可以用的。javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial关键是这句话,到底还需要指定个什么映射?乙:你在你的main里面怎么可能得到那个datasource呢你的datasource怎么建的甲:就是配的server.xml和web.xml。难道还要单独写个去datasuorce的类么?楼上的说说具体怎么要怎么配?乙:你在运行什么东西的出错?甲:操作定义类:package hibernate.demo01;import java.util.Iterator;import java.util.List;import org.hibernate.*;import org.hibernate.cfg.Configuration;/* 具体操作Hibernate的类:* 增加、删除、修改、按ID查询、模糊查询、查询全部操作* */public class PersonOperate / 在Hibernate中,所有的操作都是通过Session完成 / 此Session不同于JSP的Session private Session session = null ; / 在构造方法之中实例化session对象 public PersonOperate() / 找到Hibernate配置 Configuration config = new Configuration().configure() ; / 从配置中取出SessionFactory SessionFactory factory = config.buildSessionFactory() ; / 从SessionFactory中取出一个Session this.session = factory.openSession() ; / 所有的操作都是通过session进行的 / 向数据库中增加数据 public void insert(Person p) / 开始事务 Transaction tran = this.session.beginTransaction() ; / 执行语句 this.session.save(p) ; / 提交事务 mit() ; / 关闭Session this.session.close() ; / 修改 public void update(Person p) / 开始事务 Transaction tran = this.session.beginTransaction() ; / 执行语句 this.session.update(p) ; / 提交事务 mit() ; this.session.close(); / 按ID查询:推荐使用HQL 是Hibernate官方推荐的查询语言 public Person queryById(String id) Person p = null ; / 使用Hibernate查询语言 String hql = FROM Person as p WHERE p.id=? ; / 通过Query接口查询 Query q = this.session.createQuery(hql) ; q.setString(0,id) ; List l = q.list() ; Iterator iter = l.iterator() ; if(iter.hasNext() p = (Person)iter.next() ; this.session.close(); return p ; / 删除数据 / Hibernate2、Hibernate 3通用的删除 / 使用此方法删除数据之前,必须先查找到数据对象,性能呢? public void delete(Person p) Transaction tran = this.session.beginTransaction() ; / 执行语句 this.session.delete(p) ; / 提交事务 mit() ; this.session.close(); / 在Hibernate 3之中根据HQL中的语句进行了修改,增加了删除指令 public void delete(String id) String hql = DELETE Person WHERE id=? ; Query q = this.session.createQuery(hql) ; / 把参数设置 q.setString(0,id) ; / 执行更新语句 q.executeUpdate() ; / 进行事务处理 this.session.beginTransaction().commit() ; this.session.close(); / 查询全部数据,写HQL public List queryAll() List l = null ; String hql = FROM Person as p ; Query q = this.session.createQuery(hql) ; l = q.list() ; this.session.close(); return l ; / 模糊查询 public List queryByLike(String cond) List l = null ; String hql = FROM Person as p WHERE like ? ; Query q = this.session.createQuery(hql) ; q.setString(0,%+cond+% ; l = q.list() ; this.session.close(); return l ; 启动运行类:package hibernate.demo01;public class PersonTest /* * param args */ public static void main(String args) / TODO Auto-generated method stub Person p = new Person(); /p.setId(11; p.setName(你好; p.setPassword(123354; p.setSex(男; p.setEmail(123163.com; PersonOperate po=new PersonOperate(); po.insert(p); /po.update(p); /Person p = po.queryById(fz; /System.out.println(p.getName(); /po.delete(p); /* List l = po.queryByLike(11 ; Iterator iter = l.iterator() ; while(iter.hasNext() Person p = (Person)iter.next() ; System.out.println(p.getName() ; */ 还有个Person的持久类就不用说了吧。运行PersonTest 这个类的时候报的错,我在hibernate.cfg.xml里面配置JDBC直连数据库就么有问题。就是用datasource的时候报那个错。乙:果然和我想的那样。datasource在别人家里(web server), 而你在你自己家里(main)找, 你说怎么找的到。甲:。那怎么弄的?老大说清楚点。org.h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外科小肠疾病试题及答案
- 土地储备试题及答案
- 2025年广州市房屋租赁协议策划大纲
- 2025年农村宅基地重建资金垫付协议
- 2025年标准管理经营资产合同协议书范文
- 2025年消防安全审计分包协议
- 2025年采购石油产品协议范例
- 2025年石材铺设与管理协议
- 2025年公共设施策划维护使用协议书
- 2025年达城广场监理工作优化协议
- 有害物质管理程序
- 法学专业实习手册
- 全部编版三年级语文下册生字读音、音序、偏旁及组词
- 中国铝业股份有限公司偃师市东沟铝土矿矿山地质环境保护与土地复垦方案
- 市政工程质量通病与防治
- 魔方社团精彩活动记录簿 副本
- 配电项目工程重点、难点及解决措施
- 三一sy215c8零件手册SY215C8液压挖掘机零部件图册
- 中央空调水处理
- 北欧电力市场组织架构以及交易组织流程
- JJG 966-2010手持式激光测距仪
评论
0/150
提交评论