(连接数据库之前首先要导入这个数据库的驱动jar包 例如mysql 为mysql-connector-java-5.1.46.jar)

关于连接数据库的数据库连接池c3p0  jar包:

c3p0-0.9.5-pre1.jar相关依赖有mchange-commons-java-0.2.4.jar    itcast-tools-1.4.jar(这个里面有一个JdbcUtils工具类用来得到连接)

配置文件:c3p0-config.xml(名字必须固定为这个放在src路径下)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <c3p0-config>
  3. <!-- 这是默认配置信息 -->
  4. <default-config>
  5. <!-- 连接四大参数配置 -->
  6. <property name="jdbcUrl">jdbc:mysql://localhost:3306/customers</property>
  7. <property name="driverClass">com.mysql.jdbc.Driver</property>
  8. <property name="user">root</property>
  9. <property name="password">123</property>
  10. <!-- 池参数配置 -->
  11. <property name="acquireIncrement">3</property>
  12. <property name="initialPoolSize">10</property>
  13. <property name="minPoolSize">2</property>
  14. <property name="maxPoolSize">10</property>
  15. </default-config>
  16.  
  17. <!-- 专门为oracle提供的配置信息 -->
  18. <named-config name="oracle-config">
  19. <property name="jdbcUrl">jdbc:mysql://localhost:3306/lisi</property>
  20. <property name="driverClass">com.mysql.jdbc.Driver</property>
  21. <property name="user">root</property>
  22. <property name="password">123</property>
  23. <property name="acquireIncrement">3</property>
  24. <property name="initialPoolSize">10</property>
  25. <property name="minPoolSize">2</property>
  26. <property name="maxPoolSize">10</property>
  27. </named-config>
  28.  
  29. </c3p0-config>

用来连接数据库;

连接数据库后就要操作数据库1:

操作数据库在javaweb阶段用的最简单的jar包是 :commons-dbutils-1.4.jar

主要使用的是QuerRunner类里面有查询的方法query与更新的方法update这是常用的

连接数据库后就要操作数据库2:commons-dbutils-1.4.jar依赖itcast-tools-1.4.jar,

  根据扩展以后升级为TxQueryRunner(在itcast-tools-1.4.jar)

注意这个TxQueryRunner是扩展的一个类需要的jar包是commons-dbutils-1.4.jar,在itcast-tools-1.4.jar缺一不可

这个里面的方法都已经帮你传入了连接是所以不需要手动去获取连接了,而且不需要关闭连接这样保证连接可以归还给连接池,而且里面处理了事务连接和事务连接的关闭,详细代码可以看TxQueryRunner源码

所以只需要传入sql模板和参数即可 展示一段代码:

  1. //注册用户(添加用户)
  2. public void add(User user){
  3. try{
  4. //sql模板
  5. String sql ="insert into tb_user values(?,?,?,?,?,?)";
  6. Object[] params ={user.getUid(),user.getUsername(),user.getPassword(),user.getEmail(),user.getCode(),user.isState()};
  7. qr.update(sql, params);
  8. }catch(SQLException e){
  9. throw new RuntimeException(e);
  10. }
  11. }
  12. //用激活码查找用户
  13. public User findByCode(String code){
  14. try{
  15. //sql模板
  16. String sql ="SELECT*FROM tb_user where code=?";
  17.  
  18. return qr.query(sql, new BeanHandler<User>(User.class),code);
  19. }catch(SQLException e){
  20. throw new RuntimeException(e);
  21. }
  22. }

在query方法里面有许多结果集处理器:例如BeanListHandler BeanHandler  (这两个可以将查询到的数据映射成为一个对象集合和对象返回)MapListHandler ScalarHandler等

首先先介绍这些以后再加

介绍一个类两个方法:

CommonUtils是根据beanutils扩展的一个工具类属于itcast-tools-1.4.jar的里面

所以这个类依赖的jar包有:commons-beanutils-1.8.3.jar,commons-logging-1.2.jar,itcast-tools-1.4.jar

CommonUtils.uuid()这个方法可以随机生成32为字符

CommonUtils.toBean(map,clazz)  这个传入一个map集合和javabean 的Class对象然后来做一次性赋值注意map集合的键要与javabean里面的属性名对应做到一次性赋值

关于一次赋值QueryRunner的query(sql,rsh,Object...param)相似这个里面的rsh就是结果集处理器用来装载数据库的值BeanListHandler BeanHandler  (这两个可以将查询到的数据映射成为一个对象集合和对象返回这个也是要注意数据库里面的字段名和JavaBean属性名要相同这样才能映射上去!!!

代码展示:

  1. //按用户名查找用户
  2. public User findByUsername(String username){
  3. try{
  4. //sql模板
  5. String sql ="SELECT*FROM tb_user where username=?";
  6.  
  7. return qr.query(sql, new BeanHandler<User>(User.class),username);
  8. }catch(SQLException e){
  9. throw new RuntimeException(e);
  10. }
  11. }
  12. //按email查询用户
  13. public User findByEmail(String email){
  14. try{
  15. //sql模板
  16. String sql ="SELECT*FROM tb_user where email=?";
  17.  
  18. return qr.query(sql, new BeanHandler<User>(User.class),email);
  19. }catch(SQLException e){
  20. throw new RuntimeException(e);
  21. }
  22. }

关于Javaweb的比较好用的jar包概述的更多相关文章

  1. cmd命令下执行jar包程序

     在cmd中使用指令来执行jar包 概述: 今天有一个需求,要在cmd中执行.jar文件 实践: 1.新建你的Hello world 2.导出到jar包 3.打开你的成功导出的jar包 4.打开文件夹 ...

  2. 向eclipse的JavaWeb项目中导入jar包--备忘录

    一:      在你所需的jar包网站下载对应的jar包.如org.apache.commons.lang.jar. 二:复制粘贴到该JavaWeb的WEB-INF目录下的lib目录下,如: 三:右键 ...

  3. 向eclipse的JavaWeb项目中导入jar包

    一:      在你所需的jar包网站下载对应的jar包.如org.apache.commons.lang.jar. 二:复制粘贴到该JavaWeb的WEB-INF目录下的lib目录下,如: 三:右键 ...

  4. eclipse javaWeb项目如何引入jar包

      eclipse javaWeb项目如何引入jar包 CreateTime--2018年4月19日08:54:24 Author:Marydon 1.判断当前jar包是否已经引入到项目当中的3种方式 ...

  5. 转载---解决 eclipse 中发布的java-web工程,jar包无法发布到tomcat 的lib下。

    1.首先: Server Locations修改后会变灰,如果需要更改设置,则需要移除与Tomcat服务器关联的项目,同时,鼠标右键菜单Clean清除Tomcat服务器的状态^^就可以修改了. 此时E ...

  6. springboot等javaweb项目将jar包安装(打包)到本地Maven仓库

    在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包 1.打开jar所在文件夹,假设我们要将 taobao-sdk-java-auto_1479188381469-20200121. ...

  7. Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)

    最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...

  8. Android中库项目、jar包等的使用方法

    在软件开发过程中,程序代码的复用,是非常重要的概念.我们总是需要使用一些现有的模块.包.框架,或开发自己的模块.包.框架,来实现对程序代码的复用.比如在JavaWeb编程过程中,经常使用的Struts ...

  9. 解决 eclipse buildpath的jar包不能复制到tomcat lib下的问题

    环境: Eclipse 版本 Mars. 问题描述: Eclipse 开发的JavaWeb项目,通过buildpath的引入的jar包无法发布到tomcat对应应用的Lib 下. 解决办法: 1. 手 ...

随机推荐

  1. .NET Core 初次上手Swagger

    安装NuGet 程序包=>Swashbuckle.AspNetCore 在  Startup.ConfigureServices  方法里添加注册生成器 //注册Swagger生成器,定义一个和 ...

  2. 轻量级RPC设计与实现第五版(最终版)

    在最近一段时间里,通过搜集有关资料加上自己的理解,设计了一款轻量级RPC,起了一个名字lightWeightRPC.它拥有一个RPC常见的基本功能.主要功能和特点如下: 利用Spring实现依赖注入与 ...

  3. ng-组件

    几乎所有前端框架都在玩"组件化",而且最近都不约而同地选择了"标签化"这种思路,Angular 也不例外. 对新版本的 Angular 来说,一切都是围绕着&q ...

  4. Java第五节课总结

    继承是对现实生活中的“分类”概念的一种模拟. 通过surper调用的基类构造方法,必须是子类构造方法中的第一个语句. 构造函数(constructor)是一种特殊的方法 .主要用来在创建对象时初始化对 ...

  5. .net mvc 使用 aspose.cells导出数据

    public class AsposeCellsHelper { public Workbook workBook; public Worksheet worksheet; Style style; ...

  6. .net 基础汇总(1)

    1  转载 String.IsNullOrWhiteSpace和String.IsNullOrEmpty的区别

  7. 如果linux开机没有ip怎么办

    1.vim编辑网卡配置文件,修改如下参数 [root@s25linux tmp]# cd /etc/sysconfig/network-scripts/vim修改此文件,找到如下参数,改为yesONB ...

  8. Nginx+uWSGI部署flask项目

    uwsgi配置 uwsgi安装 安装uwsgi pip install uwsgi 启动uwsgi uwsgin --ini uwsgi.ini # 后台启动 nohup uwsgi --ini uw ...

  9. 浅谈C#委托的用法-delegate[转]

    一.委托的概念 委托和类一样是一种用户自定义类型,它存储的就是一系列具有相同签名和返回类型的方法的地址,调用委托的时候,它所包含的所有方法都会被执行. 借用百度上的一句话概括:委托是一个类,它定义了方 ...

  10. 0004 工程配置settings.py

    两个目录的区别: 工程目录是指包含manage.py文件的目录 配置目录是批包含settings.py文件的目录 在配置目录中找到并打工settings.py文件,做以下配置: 01 DEBUG DE ...