-
JDBC 对事务管理的支持。查看全部
-
事务的特点。查看全部
-
输入参数 call 名(' ')查看全部
-
存储过程JDBC调用步骤查看全部
-
dbcp与c3p0的区别查看全部
-
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用. 如果JSP使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接等步骤,而连接数据库是一件消耗资源的工作. 如果频繁发生这种数据库操作(一天10万访问量),系统的性能会急剧下降,甚至会导致系统崩溃,数据库连接池技术是解决这个问题最常用的方法, 许多应用程序服务器如Weblogic、Tomcat等都提供了这项技术. 数据库连接池的主要操作: 1.建立数据库连接池对象(服务器启动) 2.按照事先指定的参数创建初始数量的数据库连接(即空闲连接数) 3.对于一个数据库访问请求,直接从连接池中得到一个连接,如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大值(即最大活跃连接数)则创建一个新的数据库连接.若达到最大连接数,则需要等待其他线程释放连接. 4.存取数据库 5.释放数据库连接 (连接将放入空闲队列中,如果实际空闲连接数大于初始空闲连接数则关闭连接) 6.关闭数据库连接池所有连接对象(服务器停止、维护期间) 常用数据库连接池技术: 1.dbcp 2.cp30 Tomcat默认使用的是DBCP数据库连接池查看全部
-
使用JDBC操作数据库时,默认开启事务,但事务是自动提交的,对数据库的每一个操作都是一个新的事务并自动提交. 当service中调用多个dao操作时无法保证数据的一致性. 设置事务为非自动提交,调用所有dao方法后再提交事务即可 connection.setAutoCommit(false); ....dao方法 connection.commit(); 使用Hibernate操作数据库时,必须使用事务,但是事务是手动提交,在执行完所有对数据库的操作时手动提交事务. 使用Spring事务处理,@Transactional注解,被该注解标注的方法为事务方法,当执行完方法中的所有数据库操作方法就会自动提交事务. (在commit之前的dao方法都相当于是同一个事务里的方法,必须都执行或都不执行,在事务提交之前如果抛出了异常,那么事务就应回滚.) 当抛出了异常,需要在catch语句中使用rollback()方法对事务进行回滚,rollback()方法只应该在已禁用自动提交模式时使用.查看全部
-
JDBC调用存储过程的方法 1.获取CallableStatement对象 Connection的prepareCall(String sp)方法获取CallableStatement实例. sp: call 存储过程名(?,?) 2.为存储过程设置参数. IN类型(入参) setString(int parameterIndex , String value) 、setInt(int parameterIndex, int value)、setXXX() OUT类型(出参) registerOutParameter(int parameterIndex , int jdbcType) 指定OUT类型参数的sql类型,使用Types类的静态属性. Types类:定义用于标识一般SQL类型的常量的类. 3.执行存储过程 execute()方法 4.处理返回的结果集或出参 结果集(即查询数据): getResultSet(),返回ResultSet接口,然后进行遍历. 出参: getInt(int parameterIndex) 以Java编程语言中int值的形式获取指定的JDBC INTEGER 参数的值. getString(int parameterIndex) 以Java编程语言中String的形式获取指定的JDBC CHAR、VARCHAR或LONGVARCHAR 参数的值. getXXX(int parameterIndex)查看全部
-
DBCP与C3P0的区别查看全部
-
1. Statement、PreparedStatement和CallableStatement都是接口(interface)。 2. Statement继承自Wrapper、PreparedStatement继承自Statement、CallableStatement继承自PreparedStatement。 3. Statement接口提供了执行语句和获取结果的基本方法; PreparedStatement接口添加了处理 IN 参数的方法; CallableStatement接口添加了处理 OUT 参数的方法。 4. a. Statement: 普通的不带参的查询SQL;支持批量更新,批量删除; b. PreparedStatement: 可变参数的SQL,编译一次,执行多次,效率高; 安全性好,有效防止Sql注入等问题; 支持批量更新,批量删除; c. CallableStatement: 继承自PreparedStatement,支持带参数的SQL操作; 支持调用存储过程,提供了对输出和输入/输出参数(INOUT)的支持; Statement每次执行sql语句,数据库都要执行sql语句的编译 ,最好用于仅执行一次查询并返回结果的情形时,效率高于PreparedStatement。 PreparedStatement是预编译的,使用PreparedStatement有几个好处 1. 在执行可变参数的一条SQL时,PreparedStatement比Statement的效率高,因为DBMS预编译一条SQL当然会比多次编译一条SQL的效率要高。 2. 安全性好,有效防止Sql注入等问题。 3. 对于多次重复执行的语句,使用PreparedStament效率会更高一点,并且在这种情况下也比较适合使用batch; 4. 代码的可读性和可维护性。查看全部
-
jdbc连接池查看全部
-
jdbc连接池查看全部
-
与数据库连接查看全部
-
DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。查看全部
-
conn.setAutoCommit(false);//首先关闭JDBC对事务默认的自动提交 try{ ... conn.commit();//业务执行都成功,提交事务 }catch(Exception e){ conn.rollback();//业务中间环节出错,回滚事务 }查看全部
举报
0/150
提交
取消