• EJB 总结学习(1)


    总结1:

    以下面这行代码为例:
    1. PersonDaoBeanRemote pdb = (PersonDaoBeanRemote)ctx.lookup("PersonDaoBean/remote"); 

    说明:
    PersonDaoBeanRemote:为远程接口
    PersonDaoBean:为会话bean 

    报错:
    1、如果写成:
    1. PersonDaoBean pdb = (PersonDaoBean)ctx.lookup("PersonDaoBean/remote");  
    报错:
    java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to cn.com.zy.ebj.dao.bean.PersonDaoBean
        at com.sise.lab1.test.SumBeanTest.main(SumBeanTest.java:23)  

    2、如果写成:
    1. PersonDaoBean pdb = (PersonDaoBean)ctx.lookup("PersonDaoBeanRemote/remote");  
    或:
    1. PersonDaoBeanRemote pdb = (PersonDaoBeanRemote)ctx.lookup("PersonDaoBeanRemote/remote"); 
     
    报错:
    javax.naming.NameNotFoundException: PersonDaoBeanRemote not bound 

    总结:
    JNDI查找用法:
    远程接口  远程接口对象 = (远程接口)ctx.lookup(“会话bean/remote”);



    总结2:

    以下为例:
    1. Query query = em.createQuery("select p from Person p where p.sex='男'");  

    说明:
    person:表名
    Person:实体名
    (注意:大小写)

    报错:
    1、如果写成(查询用表名,没用实体名):
    1. Query query = em.createQuery("select p from person p where p.sex='男'");
    报错:
    javax.ejb.EJBExceptionjava.lang.IllegalArgumentExceptionorg.hibernate.hql.ast.QuerySyntaxException: person is not mapped [select p from person p where p.sex='男']; nested exception is: java.lang.IllegalArgumentExceptionorg.hibernate.hql.ast.QuerySyntaxException: person is not mapped [select p from person p where p.sex='男']

    2、如果写成(用sql语句查询):
    1. Query query = em.createQuery("select * from person where sex='男'"); 
    或:
    1. Query query = em.createQuery("select * from Person where sex='男'");  
    报错:
    javax.ejb.EJBExceptionjava.lang.IllegalArgumentExceptionorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from person where sex='男']; nested exception is: java.lang.IllegalArgumentExceptionorg.hibernate.hql.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [select * from person where sex='男']  

    总结:
    查询语句不要用表名,要用实体名查询



    总结3:

    mysql数据源的配置:

    步骤:
    1、修改“JBOSS安装目录docsexamplesjca”目录下的mysql-ds.xml:

    说明:
    <user-name>******</user-name>:设置安装的mysql的用户名
    <password>********</password>:设置安装的mysql的密码
    <jndi-name>MySqlDS</jndi-name>:为数据源的名,引用为:java:/MySqlDS,(可自行修改数据源名,但引用要与之对应上)
    <connection-url>jdbc:mysql://数据源地址:3306/数据库名</connection-url>:数据源地址为IP地址,本地可用localhost,数据库名为要访问的数据库名

    2、将修改后的mysql-ds.xml拷贝到“JBOSS安装目录serverdefaultdeploy”目录下
    3、将mysql驱动(如mysql-connectot-java-5.1.9-bin,jar)拷贝到“JBOSS安装目录serverdefaultlib”目录下

    注:
    在要用mysql数据库时一定要引入mysql驱动包



    总结4:

    EJB项目一定要引入“JBOSS安装目录client”目录下的包





  • 相关阅读:
    深度学习 Deep Learning UFLDL 最新Tutorial 学习笔记 3:Vectorization
    关于gcc的一点小人性化提示
    python 命令行參数解析
    一起talk C栗子吧(第九回:C语言实例--最大公约数)
    小程序 通用请求
    小程序 上啦下拉刷新window配置
    微信小程序 功能函数 将对象的键添加到数组 (函数深入)
    微信小程序 功能函数 点击传参和页面
    微信小程序 功能函数 购物车商品删除
    微信 小程序组件 分页菜单带下划线焦点切换
  • 原文地址:https://www.cnblogs.com/zhanyao/p/4007867.html
Copyright © 2020-2023  润新知