EL 表达式轻松获取数据库对象,让程序更高效!
成都服务器托管,创新互联提供包括服务器租用、成都服务器托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、域名与空间等业务的一体化完整服务。电话咨询:13518219792
在 Web 应用程序中,需要频繁地与数据库进行交互。为了方便开发人员操作数据库,Java 引入了许多 ORM(对象关系映射)框架,例如 Hibernate、MyBatis 等等。这些框架可以将数据库中的数据映射到 Java 对象中,以便于进行直接的操作。但是,在具体的开发过程中,我们经常需要使用原生的 JDBC API 来实现某些特殊的操作。而使用 JDBC API 则需要进行繁琐的配置,如获取数据库连接、创建 Statement 对象、执行 SQL 语句等等。这些操作会使得程序的复杂度加大,同时也降低了程序的效率。
为了解决这些问题,Java 开发人员可以使用 EL(Expression Language)表达式来轻松地获取数据库对象,使得程序更加高效。EL 表达式是标准 P 规范的一部分,用于在 P 页面中访问和处理 JavaBean 中的属性,并可以在 P 页面中动态地创建和执行 Java 代码。EL 表达式支持常规的算术和比较操作,如加、减、乘、除、等于、不等于、小于、大于等等。在使用 EL 表达式访问 P 页面中的 JavaBean 对象时,程序员只需要在 P 页面中定义一个对象,并将该对象传递到 EL 表达式中,即可获得该对象的属性信息。
EL 表达式中的 $ 符号用于访问 JavaBean 对象,而 # 符号用于访问 ServletContext、HttpServletRequest、HttpServletResponse、HttpSession 等 Servlet 相关对象。在获取数据库对象时,我们需要使用 # 符号来访问 HttpServletRequest 对象,以便获取 Web 应用程序中 JDBC 驱动程序所配置的信息。
通过 EL 表达式获取数据库对象的步骤如下:
1. 在 web.xml 文件中注册 JDBC 驱动程序和数据库连接池。
“`
jdbc_driver
com.mysql.jdbc.Driver
jdbc_url
jdbc:mysql://localhost:3306/test
jdbc_username
root
jdbc_password
root
DB Connection
jdbc/MyDB
javax.sql.DataSource
Contner
jdbc/MyDB
javax.sql.DataSource
“`
2. 在 P 页面中使用 EL 表达式获取数据库连接对象。
“`
<%
javax.naming.InitialContext ic = new javax.naming.InitialContext();
javax.sql.DataSource ds = (javax.sql.DataSource) ic.lookup(“java:/comp/env/jdbc/MyDB”);
java.sql.Connection conn = ds.getConnection();
pageContext.setAttribute(“conn”, conn);
%>
“`
上述代码中,我们使用 javax.naming.InitialContext API 获取 JNDI上下文。然后,使用 lookup() 方法来查找指定名称的资源,其中 java:/comp/env/jdbc/MyDB 表示在 context.xml 文件中配置的资源名称。这样就可以获取服务器上的 DataSource 对象。我们调用 getConnection() 方法来获取到数据库连接实例,并将它存储到 pageScope 对象中,使得它可以在页面的所有代码中使用。
3. 在 P 页面中使用 EL 表达式获取 Statement 对象和 ResultSet 对象。
“`
“`
上述代码中,我们使用 ${conn.createStatement()} EL 表达式来创建 Statement 对象,并将该对象存储到 stmt 变量中。接着,使用 ${stmt.executeQuery(‘SELECT * FROM t_user’)} EL 表达式执行 SQL 语句,将查询结果集存储到 rs 变量中。
4. 在 P 页面中使用 EL 表达式输出查询结果。
“`
ID | Username | Password | Eml |
---|---|---|---|
${row.id} | ${row.username} | ${row.password} | ${row.eml} |
“`
上述代码中,我们使用 ${rs} EL 表达式获取查询结果集,并使用 标签循环遍历结果集中的每行数据。然后,使用 ${row.id}、${row.username}、${row.password}、${row.eml} EL 表达式分别输出每行数据中的 id、username、password、eml 字段值。
相关问题拓展阅读:
这要从新从后台交互才州脊能御改查出来取到,不切换页面可以用AJAX,切换页面就镇迹判直接提交请求就行了,方法很多,你试试吧
将猜搜这个id传到猛世后台,从request中拿到id,传到数据层。select * from 表名穗知历 where id=#id#
这很容易啊, 数据库记录的id都得到了,传到后台根据id取出记录不就行了么?
自己写sql语句,然后拼装成list
关于el表达式获取数据库对象的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
本文名称:EL表达式轻松获取数据库对象,让程序更高效!(el表达式获取数据库对象)
网页URL:http://www.shufengxianlan.com/qtweb/news12/124262.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联