当前位置: 首页 > news >正文

网站分页效果wordpress _the_logo

网站分页效果,wordpress _the_logo,开源oa办公系统,织梦网址导航网站模板简明入门教程#xff0c;参考#xff1a;https://www.cnblogs.com/CQY1183344265/p/5854418.html 进行此章节之前#xff0c;介绍一个JdbcUtils的再次的简单封装 #xff08;例如后面需要构造QueryRunner时得到数据源等的简便的操作#xff09; package cn.itcast.jdbcuti…  简明入门教程参考https://www.cnblogs.com/CQY1183344265/p/5854418.html 进行此章节之前介绍一个JdbcUtils的再次的简单封装   例如后面需要构造QueryRunner时得到数据源等的简便的操作 package cn.itcast.jdbcutils;import java.sql.Connection; import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcUtils {//使用的是默认的配置信息注意给出c3p0-config.xml配置文件private static ComboPooledDataSource dataSource new ComboPooledDataSource();//处理多线程的并发访问问题使用ThreadLocalprivate static ThreadLocalConnection tl new ThreadLocalConnection();public static Connection getConnection() throws SQLException{//不为Null说明开启了事务返回连接//先获取自己线程的ConnectionConnection con tl.get();if(con ! null) return con;return dataSource.getConnection();}/*** 大方一点给出连接池对象给你*/public static ComboPooledDataSource getDataSource(){return dataSource;}//给出三个方法/*** 开启事务* 创建一个Connection设置为手动提交* 保证DAO使用的就是这个事务的连接* 同时还需要保证下面两个提交与回滚是同一个连接* 通过创建一个本类的连接成员* throws SQLException */public static void startTransaction() throws SQLException{Connection con tl.get();//开启事务后con不再为nullcon getConnection();con.setAutoCommit(false);//保存连接tl.set(con);}/*** 提交事务* throws SQLException */public static void commitTransaction() throws SQLException{Connection con tl.get();if(con null) throw new SQLException(事务未开启请勿提交);con.commit();con.close();//清空连接con null;//移除事务tl.remove();}/*** 回滚事务* throws SQLException */public static void rollbackTransaction() throws SQLException {Connection con tl.get();if(con null) throw new SQLException(事务未开启请勿回滚);con.rollback();con.close();con null;tl.remove();}/*** 用于释放连接* param connection* throws SQLException */public static void releaseConnection(Connection connection) throws SQLException{//事务专用则不关闭后续会有关闭//如果不是事务则需要关闭Connection con tl.get();//事务都没有直接关闭if(con null) connection.close();//有事务判断是否相等是否为专用连接if(con ! connection) connection.close();} }   一、简易的入门     common-dbutils是Apache对Jdbc的一个简单的封装其中主要涉及的类有       QueryRunner       ResultSetHandler       DbUtils     使用的依赖如下          1.   重要类 QueryRunner 构造时提供数据源   重要方法int update(String sql,Object...params);增删改   重载版本 int update(Connection con,String sql,Object...params);本方法不再管理con由外部提供保证是同一个   T query(String sql,ResultSetHandler rsh,Object...params);查询   重载版本类同上   给出一个使用的小例子    package cn.itcast.demo;import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner; import org.junit.Test;import cn.itcast.jdbcutils.JdbcUtils;/*** 测试commons-dbutils* author jiangbei01**/ public class Demo02 {Testpublic void testfun1() throws SQLException{QueryRunner qr new QueryRunner(JdbcUtils.getDataSource());String sql INSERT INTO ab VALUES(?,?);Object[] params {8,肖恩};qr.update(sql, params);} }     2.   给一张表对应一个类字段与属性对应起来   他会先得到ResultSet然后调用handler方法转换成需要的类型   接口ResultSetHandler我们学习的实现类   BeanHandler 构造器需要一个class参数返回指定类型的javabean对象  一行记录   BeanListHandler 构造器同上由名称知为多行转换成list对象多个javabean  多行记录   MapHandler 把一行记录转换成一个map 如{name:zhangsan,age:20}  一行记录   MapListHandler 同上对比多个map的多行记录返回ListMap返回的也是一个List  多行记录   ScalarHandler 单行单列通常与select count(*) from stu; 单行单列   这里使用装饰者模式加上开头改造的工具类将QueryRunner稍加改造    package cn.itcast.jdbcutils;import java.sql.Connection; import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.ResultSetHandler; /*** 这个类可以自身自己处理连接问题可以通过jdbcUtils释放连接类方法会处理是否关闭* author jiangbei01**/ public class TxQueryRunner extends QueryRunner {Overridepublic int[] batch(String sql, Object[][] params) throws SQLException {/** 得到连接* 执行父类方法* 释放连接* 返回值*/Connection con JdbcUtils.getConnection();int[] results super.batch(con,sql, params);JdbcUtils.releaseConnection(con);return results;}Overridepublic T T query(String sql, Object param, ResultSetHandlerT rsh) throws SQLException {/** 得到连接* 执行父类方法* 释放连接* 返回值*/Connection con JdbcUtils.getConnection();T results super.query(con,sql, param,rsh);JdbcUtils.releaseConnection(con);return results;}Overridepublic T T query(String sql, Object[] params, ResultSetHandlerT rsh) throws SQLException {Connection con JdbcUtils.getConnection();T results super.query(con,sql, params,rsh);JdbcUtils.releaseConnection(con);return results;}Overridepublic T T query(String sql, ResultSetHandlerT rsh, Object... params) throws SQLException {Connection con JdbcUtils.getConnection();T results super.query(con,sql, rsh,params);JdbcUtils.releaseConnection(con);return results;}Overridepublic T T query(String sql, ResultSetHandlerT rsh) throws SQLException {Connection con JdbcUtils.getConnection();T results super.query(con,sql, rsh);JdbcUtils.releaseConnection(con);return results;}Overridepublic int update(String sql, Object... params) throws SQLException {Connection con JdbcUtils.getConnection();int results super.update(con,sql,params);JdbcUtils.releaseConnection(con);return results;}Overridepublic int update(String sql, Object param) throws SQLException {Connection con JdbcUtils.getConnection();int results super.update(con,sql,param);JdbcUtils.releaseConnection(con);return results;}Overridepublic int update(String sql) throws SQLException {Connection con JdbcUtils.getConnection();int results super.update(con,sql);JdbcUtils.releaseConnection(con);return results;}} 给出一个使用改造类的小例子 package cn.itcast.jdbcutils;import java.sql.Connection; import java.sql.SQLException;import org.apache.commons.dbutils.QueryRunner;public class AccountDAO {/*** 不能使用连接池* 要自己提供连接才能保证是同一个连接* param name* param money* throws SQLException*/public static void update(String name, double money) throws SQLException{QueryRunner qr new TxQueryRunner();String sql update account set balaencebalaence? where name?;Object[] params {money,name};//给出参数并执行qr.update(sql,params);/** 以下代码新写的Tx类已经完成无需处理* Connection con JdbcUtils.getConnection();* //释放连接JdbcUtils.releaseConnection(con);*/} }     并发访问时产生的问题可以使用ThreadLocal类待更新详细进行解决示例如下 package cn.itcast.jdbcutils;import java.sql.Connection; import java.sql.SQLException;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcUtils {//使用的是默认的配置信息注意给出c3p0-config.xml配置文件private static ComboPooledDataSource dataSource new ComboPooledDataSource();//处理多线程的并发访问问题使用ThreadLocalprivate static ThreadLocalConnection tl new ThreadLocalConnection();public static Connection getConnection() throws SQLException{//不为Null说明开启了事务返回连接//先获取自己线程的ConnectionConnection con tl.get();if(con ! null) return con;return dataSource.getConnection();}/*** 大方一点给出连接池对象给你*/public static ComboPooledDataSource getDataSource(){return dataSource;}//给出三个方法/*** 开启事务* 创建一个Connection设置为手动提交* 保证DAO使用的就是这个事务的连接* 同时还需要保证下面两个提交与回滚是同一个连接* 通过创建一个本类的连接成员* throws SQLException */public static void startTransaction() throws SQLException{Connection con tl.get();//开启事务后con不再为nullcon getConnection();con.setAutoCommit(false);//保存连接tl.set(con);}/*** 提交事务* throws SQLException */public static void commitTransaction() throws SQLException{Connection con tl.get();if(con null) throw new SQLException(事务未开启请勿提交);con.commit();con.close();//清空连接con null;//移除事务tl.remove();}/*** 回滚事务* throws SQLException */public static void rollbackTransaction() throws SQLException {Connection con tl.get();if(con null) throw new SQLException(事务未开启请勿回滚);con.rollback();con.close();con null;tl.remove();}/*** 用于释放连接* param connection* throws SQLException */public static void releaseConnection(Connection connection) throws SQLException{//事务专用则不关闭后续会有关闭//如果不是事务则需要关闭Connection con tl.get();//事务都没有直接关闭if(con null) connection.close();//有事务判断是否相等是否为专用连接if(con ! connection) connection.close();} }  转载于:https://www.cnblogs.com/jiangbei/p/6704643.html
http://wiki.neutronadmin.com/news/278808/

相关文章:

  • 网站建设图片编辑白银做网站的董事
  • 郑州正规的网站设计app软件开发不包括
  • 金湖做网站网站建设服务器租用
  • 网站 国外空间不需要icp许可证吗廊坊市固安县建设局网站
  • 建设部网站是什么网站怎么在百度网站上做自己的网站
  • 西宁建设工程官方网站外贸怎么做站外推广
  • 新开传奇网站发布站手游社交网站图片展示
  • 网站 目录 结构义乌百度网站制作
  • vps网站打开需要身份验证石家庄科技中心网站
  • 贵州安顺做公司网站2018网站建设行业
  • 网站上传办法东莞seo按天计费
  • 哈尔滨寸金网站建设公司口碑酒店专业培训网站建设
  • 如何做一家专门卖零食的网站顺德品牌网站建设咨询
  • 天水模板型网站建设WordPress改成淘宝客
  • 网站解析密码注册一个公司需要几个人
  • joomla做的网站网站服务器类型查询
  • 广州网站建设乐云seo专门做餐饮运营的网站
  • 网站常规seo优化步骤温州制作网站公司
  • 安徽省建设造价管理协会网站张店网站建设yx718
  • 网站后期的维护和更新自己建立网站要钱吗
  • 做网站 怎么连到数据库页面简单的网站模板免费下载
  • 北京网站改版有哪些好处蜘蛛搜索引擎网页版
  • 网站建设 业务网站建设关键词排名优化
  • 大连哪里有手机自适应网站建设wordpress不用登陆就可以评论
  • 标书制作软件免费版seo网站排名推广
  • 赣州网站建设优化服务linux wordpress建站教程
  • 汕头市建设局网站微信自动加好友软件
  • 成功的营销型网站案例wordpress搬到本地
  • 招聘网站开发流程传媒公司网站php源码
  • 大兴手机网站建设正能量不良网站直接进入免费