queryrunner

JdbcUtils 系列1

好久不见. 提交于 2020-02-14 14:05:23
1、开发前准备 创建java pro为dbutils_1,没有lib目录,建一个即可 /dbutils_1/lib/mysql-connector-java-5.0.8-bin.jar 数据库搭建c3p0 /dbutils_1/src/c3p0-config.xml /dbutils_1/lib/c3p0-0.9.2-pre1.jar /dbutils_1/lib/mchange-commons-0.2.jar 2、包commons-dbutils-1.2.jar 3、工具类JdbcUtils.java package cn.itcast.utils; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class JdbcUtils { private static ComboPooledDataSource ds = null; // 创建c3p0连接池,真个应用只需要初始化一次,放在静态代码块里面 static { ds = new ComboPooledDataSource("flx"); } // 取得连接 public static

JDBC工具包使用

雨燕双飞 提交于 2020-02-14 14:04:12
数据库结构图: 第一种组合 :   只有官方驱动 mysql-connector-java-5.1.13-bin.jar 包结构: 代码:简单实现增删改查 可以自己做一个配置文件工具包,见上一篇文章 1 package com.jdbc.onlyconnector; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.util.Scanner; 9 10 import org.junit.Test; 11 12 public class ConnectorTest { 13 @Test 14 public void test01() throws ClassNotFoundException, SQLException { 15 //jdbc四大参数,driver的全限命名,url,user,password 16 String driverClassName = "com.mysql.jdbc.Driver"; 17 String url = "Jdbc:mysql:/

记账本开发记录——第十天(2020.1.28)

冷暖自知 提交于 2020-01-28 19:53:44
今天,简单学习了JDBC连接池的概念和自定义连接池。 所谓连接池,就是连接完后不close,而是归还到连接池内,可以解决数据库连接的性能问题。 对于自定义连接池,我们可以自己创建连接池,然后通过这个连接池进行连接。如下代码: 1 public class MyDataSource implements DataSource{ 2 // 创建一个List集合用于存放多个连接对象. 3 private List<Connection> list = new ArrayList<Connection>(); 4 // 在程序开始的时候,初始化几个连接,将连接存放到list中. 5 public MyDataSource() { 6 // 初始化3个连接: 7 for(int i=1;i<=3;i++){ 8 Connection conn = JDBCUtils.getConnection(); 9 list.add(conn); 10 } 11 } 12 13 @Override 14 // 获得连接的方法: 15 public Connection getConnection() throws SQLException { 16 if(list.size() <= 0){ 17 for(int i=1;i<=3;i++){ 18 Connection conn = JDBCUtils

10 — 网上书城(2)— 添加图书

不问归期 提交于 2020-01-23 23:23:56
1 添加图书 form 表单 ——》提交到 Servlet ——》Service ——》 DAO ——》保存数据到数据库 ——》回到列表界面 list.jsp add.jsp action enctype = "application/x-www-form-urlencoded" 用于普通表单提交 enctype = "multipart/form-data" 用于有文件的表单提交 1.1 DAO package com . zbt . dao ; import com . zbt . model . Book ; import com . zbt . utils . C3P0Utils ; import org . apache . commons . dbutils . QueryRunner ; import org . apache . commons . dbutils . handlers . BeanListHandler ; import java . sql . SQLException ; import java . util . List ; import java . util . UUID ; public class BookDaoImpl { public List < Book > findAllBook ( ) throws

jdbc框架 commons-dbutils的使用

一个人想着一个人 提交于 2020-01-21 08:18:53
 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司的首选。   commons-dbutilsAPI介绍: org.apache.commons.dbutils.QueryRunner org.apache.commons.dbutils.ResultSetHandler   工具类 org.apache.commons.dbutils.DbUtils 直接上代码: 1.先建立一个jdbc的连接相关类: 1 package com.ming.core.db; 2 3 import java.io.InputStream; 4 import java.io.PrintWriter; 5 import java.sql.Connection; 6 import java.sql.DriverManager; 7 import java.sql.PreparedStatement; 8 import java.sql.ResultSet; 9 import java.sql.SQLException; 10 import java.sql

Spring笔记之IOC

折月煮酒 提交于 2020-01-20 01:08:43
本篇笔记忽略jar包的导入和配置文件的schema约束 1.我理解的IOC ioc,控制反转,在spring中我理解的ioc就是将需要创建的对象交由spring来创建。在spring中,可以通过配置,来让spring通过反射创建对象并放到spring容器中。这样,其他地方需要调用时,只需要通过配置的id属性来获取即可使用。 配置可以配置具体实现类,也可以配置包,包下所有类的id默认为类名首字母小写。 <bean id="testService" class="com.jdwa.service.impl.TestServiceImpl"></bean> 2.ioc中创建bean的三种方式 默认构造: <bean id="testService" class="com.jdwa.service.impl.TestServiceImpl"></bean> 静态工厂: <bean id="testService" class="com.jdwa.factory.StaticFactory" factory-method="createTestService"></bean> 实例工厂: <bean id="instancFactory" class="com.jdwa.factory.InstanceFactory"></bean> <bean id="testService"

10 — 网上书城(3)— 修改图书

心不动则不痛 提交于 2020-01-01 13:31:14
1 修改图书信息 1.1 DAO package com . zbt . dao ; import com . zbt . model . Book ; import com . zbt . utils . C3P0Utils ; import org . apache . commons . dbutils . QueryRunner ; import org . apache . commons . dbutils . handlers . BeanHandler ; import org . apache . commons . dbutils . handlers . BeanListHandler ; import java . sql . SQLException ; import java . util . List ; import java . util . UUID ; public class BookDaoImpl { public List < Book > findAllBook ( ) throws SQLException { QueryRunner qr = new QueryRunner ( C3P0Utils . getDataSource ( ) ) ; return qr . query ( "select * from books" ,

c3p0和QueryRunner的结合使用,让开发更加简便

强颜欢笑 提交于 2020-01-01 05:08:11
1:DBUtils中的QueryRunner的使用:   1.1:QueryRunner中提供了对SQL语句操作的api;   1.2:主要有三个方法:     1.2.1:query():用于执行select(查询);     1.2.2:update():用于执行insert(插入)/update(更新)/delete(删除);     1.2.3:batch():批处理; 2:c3p0和QueryRunner的结合使用:   2.1:首先导包,如下所示的包;     c3p0-0.9.1.2.jar     commons-dbutils-1.6.jar     mysql-connector-java-5.1.12-bin.jar     2.2:当然导包之前你需要创建好数据库和数据表哦!~~~      在src目录下面记住配置c3p0-config.xml文件 1 <c3p0-config> 2 3 <!-- c3p0默认配置,下面还可以配置多个数据库 --> 4 <default-config> 5 <property name="jdbcUrl">jdbc:mysql://localhost:3306/test 6 </property> 7 <property name="driverClass">com.mysql.jdbc.Driver</property>

##管家婆项目(dao层)

落爺英雄遲暮 提交于 2020-01-01 05:06:57
管家婆项目--dao层代码 package cn.kgc.gjp.dao; import cn.kgc.gjp.domain.ZhangWu; import cn.kgc.gjp.tools.JDBCUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import java.sql.SQLException; import java.util.List; /** * @author liurui * @date $ {DATE} 16:52 * 实现对数据表 gjp_zhangwu 数据增删改查操作 * dbUtils工具类完成,类成员创建QueryRunner对象,指定数据源 */ public class ZhangWuDao { private QueryRunner qr=new QueryRunner(JDBCUtils.getdataSource()); /** * 定义方法,查询数据库,获取所有的账务数据 * 方法,由业务层调用 * 结果集,将所有的账务数据,存储到Bean对象中,存储到集合中 */ public List<ZhangWu> selectAll(){ String sql=

JDBC事务与连接池

扶醉桌前 提交于 2019-12-21 05:10:49
(一)JDBC事务: 抽象的概念:实际开发中一个完整的业务逻辑,(每一个小单元分别对数据库的数据进行crud操作), 我们通过所有的小单元,要么同时顺利完成,要么同时失败 JDBC事务的四大原则: 1,原子性:每一个事务都是最小的原子单位,不能进行再分割 2,一致性:同时进行,还么都完成要么都失败,要么执行前的数据,要么执行后的数据; 3,隔离性:每个事务都是相互隔离,互不影响; 4,持久性:一旦执行commit就无法修改。; JDBC事务的操作与步骤: 1,使用set AutoCommit =0 方法使数据库的修改从自动改为手动提交 2,start transaction开启事务; 3,sava point设置回滚点:随便取名一个回滚点,执行这条语句过后当前语句就是回滚点 4,如果不想执行成功,想回到回滚点,那么就用rollback to回到回滚点具体位置。如果没有设置回滚点,使用rollback回滚到上一层操作; 5,commit提交事务,事务一旦提交就无法更改; (二)数据库连接池 JDBC:使用java代码来操作数据库,其实就是提供了一些方法(接口),接口的实现是数据库的厂商实现; 1,连接池:没有连接池时候: 每次都要创建jdbc连接资源,关闭资源 ==>反复创建与销毁会影响性能 2,有连接池以及作用:管理连接,避免反复销毁连接,连接池是由连接池的厂商来创建