JavaEE JDBC 了解JNDI】的更多相关文章

了解JNDI @author ixenos Web与企业应用中的连接管理 1. 数据库连接方式: (1)使用配置文件 (2)使用JNDI 2. 在Web或企业环境中部署 JDBC应用时,数据库连接管理与JNDI(Java Name Directory Interface)是集成在一起的 (1)遍布企业的数据源的属性可以存储在一个目录中,这样我们可以集中管理用户名.密码.数据库名 和 JDBC URL (2)使用JNDI创建数据库连接: Context jndiContext = new Init…
下面的英文是我找过来的,因为是英文所以不敢翻译出来误导别人,但是它描述的确实恰到好处,比所谓网上的JNDI和JDBC云云的解释要精辟很多,如果遇到不认识的单词,用有道吧~~:) The Java Naming and Directory Interface (JNDI) is an application programming interface (API) for accessing different kinds of naming and directory services. JNDI…
程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的 JDBC URL 连接到数据库. 就像以下代码这样: Connection conn=null;try ...{Class.forName("com.mysql.jdbc.Driver", true, Thread.currentThread().getContextClassLoader());conn=DriverManager.getConnect…
JDBC:Java DataBase Connectivity,java连接数据库和执行SQL语句的API. 数据源:Data Source.就是将IP.数据库.用户名.密码封装起来对外只提供一个JNDI名称,在应用中只要调用这个JNDI就能连接数据库,而不需要在代码中写入用户名密码等信息.这样做的好处是,当用户名密码乃至数据库变化时只需要去修改JNDI的xml文件而不需要去修改代码. JNDI:Java Naming and Directory Interface,Java命名和目录接口.JN…
[学习笔记] 8.JNDI用来查找dataSource的例子: import javax.naming.InitialContext;import javax.naming.Context; import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource; import java.util.Properties;import net.sourceforge.jtds.jdbcx.*;public class ClassPut…
1.载入数据库驱动(jar文件) //须要下载一个数据库的jar包,并导入对应的JDBC项目中,创建路径! Class.forName("com.mysql.jdbc.Driver"); 2.获得数据库连接 DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD"); //返回Connection----…
JDBC:Java Data Base Connectivity java数据库连接 1.组成JDBC的两个包:主要是接口 java.sql javax.sql 2.相应JDBC的数据库实现 在tomcat的目录下面添加mysql-connector-java-5.0.8-bin.jar这个数据库驱动包 package com.tsh.web; import java.io.IOException; import java.sql.Connection; import java.sql.Driv…
了解数据库连接池 @author ixenos 数据库连接是有限的资源,如果用户需要离开应用一段时间,那么他占用的连接就不应该保持开放状态: 另一方面,每次查询都获取连接并在随后关闭它的代价也很高. 解决上述问题的方法就是使用数据库连接池(类似线程池的概念). 这意味着数据库连接在物理上并未被关闭,而是保留在一个队列中被反复重用. 连接池是种服务,JDBC规范为实现者提供了用以实现连接池服务的手段, 但JDK本身没有实现,数据库供应商的JDBC驱动程序一般也没有, 相反,Web容器和应用服务器的…
JDBC 事务 @author ixenos 事务 1.概念:我们将一组语句构建成一个事务(trans action),当所有语句顺利执行之后,事务可以被提交(commit):否则,如果其中某个语句遇到错误,那么事务将被回滚,就好像没有任何语句被执行一样 2.需求背景:将多个语句组合成事务的主要原因是为了确保数据库完整性(database integrity) 3.默认情况下,数据库连接处于自动提交模式(autocommit mode),每个SQL语句一旦被执行便被提交给数据库,一旦命令被提交就…
RowSet行集 @author ixenos 应用背景 1.基于结果集的缺点:在与用户的整个交互过程中,必须始终与数据库保持连接 后果:当用户长时间离开时,数据库连接长时间被占用,而这属于稀缺资源: 解决:使用行集RowSet,RowSet继承了ResultSet接口,却无需始终保持与数据库的连接~ 2.结果集不便于移动,因为数据结构复杂,且依赖于连接 解决:使用行集RowSet,RowSet适用于将查询结果移动到复杂应用的其他层,或者其他设备当中 3.因为RowSet继承了ResultSet…
JDBC补充注意点 @author ixenos 1.一个Statement对象可以用于多个不相关的命令和查询,但是一个Statement对象最多只能有一个打开的结果集,如果需要同时执行多个查询同时分析查询结果,那么必须创建多个Statement对象 a)     然而!如果真的需要并发查询分析结果,我们更应该从数据库层面的组合查询去解决,而不是java层面的算法,因为前者只需要分析一个结果 2.使用完ResultSet.Statement.Connection对象后,应立即调用close方法,…
JDBC 读写LOB大对象 @author ixenos LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其他数据, 在SQL中,二进制(字节型)大对象称为BLOB,字符型大对象称为CLOB 读取LOB流程 i.     执行SELECT语句 ii.    ResultSet调用getBlob或getClob方法获取Blob或Clob类型的对象 iii.   Blob调用getBytes或getInputStream方法获取Image等对象 iv.   代码如下: Pr…
PreparedStatement @author ixenos PreparedStatement工作原理 注意:虽然mysql不支持PreparedStatement优化,但依然有预编译的实现! PreparedStatement相较Statement的优点 1.预编译缓存的支持,能提高执行效率 2.防范SQL注入 statement有sql注入的风险 比如 SELECT * FROM boss WHERE user='root' OR 1=1 --' AND password='f3f.3…
JDBC怎么加载驱动 @author ixenos 分析 1.JDBC是一套连接数据库的接口(放在java.util.sql.Driver类中),不同的数据库依此接口各自实现Java连接到数据库的操作,这些具体的实现就叫做驱动: 2.当只连接一个数据库时,我们可以new 驱动对象来使用,但是当多数据库连接时,要多次创建Driver示例,多次创连接Connection,有些繁琐,这时,sun提供了一个驱动的管理器DriverManager,注册驱动就可以调用: 3.但是每次还是要创Driver实例…
JDBC接口核心的API @author ixenos java.sql.*   和  javax.sql.* |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, properties):  连接数据库的方法. url: 连接数据库的URL URL语法: jdbc协议:数据库子协议://主机:端口/数据库 user: 数据库的用户名 password: 数据库用户密码 |- DriverManager类: 驱动管理器类,用于…
可滚动和可更新的结果集ResultSet @author ixenos 需求背景 1.对于一个只需要分析数据的程序来说,普通的ResultSet已够用 2.但如果ResultSet用于显示一张表或查询结果的可视化数据显示, 1)会希望用户在结果集上前后移动的需求, 2)而且一旦展示了结果集的内容,用户会希望修改这些内容,这有两种方式: (1)一般通过UPDATE语句修改(更高效) (2)通过SELECT得到ResultSet,再遍历修改(意味着可以细化修改操作!) 3.需求总结:细化修改操作,且…
ResultSet内外移动 @author ixenos 内外移动指位置光标的移动 内移动就是一个ResultSet得到后的那个光标! 外移动就是多个ResultSet的迭代 内移动 一般的数据库都不允许单个查询提交多个SELECT语句, 1.execute执行SQL语句后,返回一个结果集ResultSet, 2.其中有个光标next在第一个元组之前(想象一下),调用hasNext就会判断光标下一个元组存不存在 3.rs.next定位行(元组triple),rs.getXXX定位列(字段fiel…
0.引言 许多Web应用程序需要通过JDBC驱动程序访问数据库,以支持该应用程序所需的功能.Java EE平台规范要求Java EE应用程序服务器为此目的提供一个DataSource实现(即,用于JDBC连接的连接池).Tomcat提供了完全相同的支持,因此使用此服务在Tomcat上开发的基于数据库的应用程序将在任何Java EE服务器上保持不变. 有关JDBC的信息,请参考以下内容: http://www.oracle.com/technetwork/java/javase/jdbc/inde…
一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\server.xml,在<Host>节点中配置如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNames…
现在开发中经常用到数据库的两种配置1 jdbc2  jndi 一般开发环境都会使用jdbc环境,自己弄配置方便.但是测试和生产环境一般都使用jndi方式.原因有:1   使用jndi方式配置,数据库的地址,用户名密码都放在jboss的配置文件中.比较安全.2   多个应用可以共享数据源…
tomcat中配置servlet.xml的JNDI或JDBC连接数据库 一. JNDI 1. tomcat环境 找到X:\xxx\......\apache-tomcat-6.0.39\conf\server.xml,在<Host>节点中配置如下: <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlV…
网上关于JNDI和JDBC的定义有很多,但是都很官方不容易理解,下面是我最近查阅资料得出的心得体会.希望对你在理解上有一点点的帮助,说的不对的请指正哦. JDBC: 看到最多的就是 Java Database Connectivity (JDBC)是一个标准的Java API,它由一组类和接口组成,Java应用程序开发人员使用它来访问数据库和执行SQL语句. 通俗的讲就是JDBC用来连接数据库和执行SQL语句,但是它最大的特点是通过java程序去找数据库驱动,然后来连接数据库.是java亲自去连…
1.  为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发 2.  什么是JavaEE JavaEE是一个开发分布式企业级应用的规范和标准. Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用…
1.  为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发 2.  什么是JavaEE JavaEE是一个开发分布式企业级应用的规范和标准. Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用…
相关术语 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担.为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发 什么是JavaEE JavaEE是一个开发分布式企业级应用的规范和标准. Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用于桌面系…
也许你学习了那么久的Java了,但如果有人问你什么是JavaEE?你会怎么回答他呢?在此我来谈谈关于JavaEE的相关技术.(仅是个人见解) 在谈JavaEE时,我们首先来了解一下Java平台.目前,Java平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用于桌面系统的JavaSE(Java Platform Standard Edition,Java标准版)和适用于企业级应用的JavaEE(Java Platfo…
原文:http://tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html Introduction(介绍) Tomcat provides a JNDI InitialContext implementation instance for each web application running under it, in a manner that is compatible with those provided by a Jav…
所谓的架构.模式都是方便开发和查看的,分工明确的,理解每层的具体的意义! 一.JavaEE: 1.Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可).是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件.Java EE 可以说是一个框架,也可以说是一种规范.J…
1. 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程序的易维护性和可扩展性,这就需要我们使用JavaEE技术来进行项目开发 2. 什么是JavaEE JavaEE是一个开发分布式企业级应用的规范和标准. Java语言的平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用于桌…
在tomcat安装目录下的context.xml文件中配置DataSource <Resource name="jdbc/news"(JNDI的名字,news是数据库的实例名) auth="Contrainer" type="javax.sql.DataSource" maxActive="100" maxIdle="30"(最大空闲) maxWait="10000"(等待毫秒,-…