(连接数据库之前首先要导入这个数据库的驱动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路径下)

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- 这是默认配置信息 -->
<default-config>
<!-- 连接四大参数配置 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/customers</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">123</property>
<!-- 池参数配置 -->
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</default-config> <!-- 专门为oracle提供的配置信息 -->
<named-config name="oracle-config">
<property name="jdbcUrl">jdbc:mysql://localhost:3306/lisi</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">123</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">10</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">10</property>
</named-config> </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模板和参数即可 展示一段代码:

//注册用户(添加用户)
public void add(User user){
try{
//sql模板
String sql ="insert into tb_user values(?,?,?,?,?,?)";
Object[] params ={user.getUid(),user.getUsername(),user.getPassword(),user.getEmail(),user.getCode(),user.isState()};
qr.update(sql, params);
}catch(SQLException e){
throw new RuntimeException(e);
}
}
//用激活码查找用户
public User findByCode(String code){
try{
//sql模板
String sql ="SELECT*FROM tb_user where code=?"; return qr.query(sql, new BeanHandler<User>(User.class),code);
}catch(SQLException e){
throw new RuntimeException(e);
}
}

在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属性名要相同这样才能映射上去!!!

代码展示:

//按用户名查找用户
public User findByUsername(String username){
try{
//sql模板
String sql ="SELECT*FROM tb_user where username=?"; return qr.query(sql, new BeanHandler<User>(User.class),username);
}catch(SQLException e){
throw new RuntimeException(e);
}
}
//按email查询用户
public User findByEmail(String email){
try{
//sql模板
String sql ="SELECT*FROM tb_user where email=?"; return qr.query(sql, new BeanHandler<User>(User.class),email);
}catch(SQLException e){
throw new RuntimeException(e);
}
}

关于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. 单向链表的简单Java实现-sunziren

    写在前面,csdn的那篇同名博客就是我写的,我把它现在在这边重新发布,因为我实在不想用csdn了,那边的广告太多了,还有就是那个恶心人的“阅读更多”按钮,惹不起我躲得起. 最近面试的过程中,发现有的公 ...

  2. 网站后门shell-----eval

    我们先来看看网站被攻击的代码: <?php error_reporting(E_ERROR); unlink('user.php'); unlink('../member/login.php') ...

  3. linq to sql 获取sql与参数添加到日志中

    这里的linq to sql并未使用ef 主要有以下内容 1.新增 2.修改 3.删除 4.查询 1.新增,修改,删除获取sql语句通过DataContext.Log获取执行的sql语句 String ...

  4. Qt Gui 第五章绘图类

    双缓冲 void Plotter::refreshPixmap() { pixmap = QPixmap(size()); pixmap.fill(, ); QPainter painter(& ...

  5. 《javascript正则表达式迷你书》笔记

    字符匹配攻略 横向匹配--通过量词 {m,n} {m,} {m} ? + * 贪婪匹配 后面跟?号 惰性匹配 纵向匹配--通过字符组 \d \D \w \W \s \S . \w表示[0-9a-zA- ...

  6. C# WPF遮罩对话框(Popup Message Overlay/ Dialog Host)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  7. pip工具下载速度慢的问题

    由于pip安装默认的访问地址为 http://pypi.python.org/simple/ 为外网,速度慢而且容易超时报错 国内常用的镜像源有 :阿里云 http://mirrors.aliyun. ...

  8. 使用python 写一个 股票涨跌提醒功能

    1: 安装python: https://www.cnblogs.com/liyafei/articles/11550979.html 将python.exe加入 全局path 2: 安装库:(不需要 ...

  9. LED Holiday Light -holiday Light Inspection Implementation Recommendations

    China LED Holiday Light Factory & Ninghai County Haohua Electronic Appliance Co., Ltd. pointed o ...

  10. Failed to set locale, defaulting to C

    echo "export LC_ALL=en_US.UTF-8" >> /etc/profile source /etc/profile 没有设置local环境