关于Javaweb的比较好用的jar包概述
(连接数据库之前首先要导入这个数据库的驱动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包概述的更多相关文章
- cmd命令下执行jar包程序
在cmd中使用指令来执行jar包 概述: 今天有一个需求,要在cmd中执行.jar文件 实践: 1.新建你的Hello world 2.导出到jar包 3.打开你的成功导出的jar包 4.打开文件夹 ...
- 向eclipse的JavaWeb项目中导入jar包--备忘录
一: 在你所需的jar包网站下载对应的jar包.如org.apache.commons.lang.jar. 二:复制粘贴到该JavaWeb的WEB-INF目录下的lib目录下,如: 三:右键 ...
- 向eclipse的JavaWeb项目中导入jar包
一: 在你所需的jar包网站下载对应的jar包.如org.apache.commons.lang.jar. 二:复制粘贴到该JavaWeb的WEB-INF目录下的lib目录下,如: 三:右键 ...
- eclipse javaWeb项目如何引入jar包
eclipse javaWeb项目如何引入jar包 CreateTime--2018年4月19日08:54:24 Author:Marydon 1.判断当前jar包是否已经引入到项目当中的3种方式 ...
- 转载---解决 eclipse 中发布的java-web工程,jar包无法发布到tomcat 的lib下。
1.首先: Server Locations修改后会变灰,如果需要更改设置,则需要移除与Tomcat服务器关联的项目,同时,鼠标右键菜单Clean清除Tomcat服务器的状态^^就可以修改了. 此时E ...
- springboot等javaweb项目将jar包安装(打包)到本地Maven仓库
在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包 1.打开jar所在文件夹,假设我们要将 taobao-sdk-java-auto_1479188381469-20200121. ...
- Java学习-039-源码 jar 包的二次开发扩展实例(源码修改)
最近在使用已有的一些 jar 包时,发现有些 jar 包中的一些方法无法满足自己的一些需求,例如返回固定的格式,字符串处理等等,因而需要对原有 jar 文件中对应的 class 文件进行二次开发扩展, ...
- Android中库项目、jar包等的使用方法
在软件开发过程中,程序代码的复用,是非常重要的概念.我们总是需要使用一些现有的模块.包.框架,或开发自己的模块.包.框架,来实现对程序代码的复用.比如在JavaWeb编程过程中,经常使用的Struts ...
- 解决 eclipse buildpath的jar包不能复制到tomcat lib下的问题
环境: Eclipse 版本 Mars. 问题描述: Eclipse 开发的JavaWeb项目,通过buildpath的引入的jar包无法发布到tomcat对应应用的Lib 下. 解决办法: 1. 手 ...
随机推荐
- java线程池之synchronized锁
//Object 定义了一个引用类型的对象用于加锁 static Object Lock = new Object(); //定义一个int类型变量0做初始值 static int iCheck = ...
- UVA1401 (字典树加简单dp)
#pragma GCC optimize(2) #include <bits/stdc++.h> #define ll long long using namespace std; ; ; ...
- PAT (Basic Level) Practice (中文)1070 结绳 (25 分) (优先队列)
给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...
- mybatis插入嵌套对象
今晚做项目遇上了一个需求,需要插入嵌套对象. 对象结构是这样的: public class RegisterMsg{ private Header header; private short pro ...
- pandas 将多个dataframe保存为一个excel文件的多个sheet表中
# 创建文件 def create(): df1 = pd.DataFrame({"a1": [1, 2, 3], "b1": [4, 5, 6]}) df2 ...
- Charles抓包问题
Charles抓包问题 抓包失败解决方法之一:在proxy下的Recording Setting找到解决方法 找到里面的include 把勾去掉,点击OK,然后就恢复正常可以抓包了.
- VPS性能测试shell工具以及锐速安装
比较熟悉的UnixBench非常耗费资源,需要长时间跑满cpu和IO,很多主机商都深恶痛绝,会做各种限制,其实也代表不了实际使用的业务效果,毕竟真正需要那么多cpu和IO的应用并不多.而网络状况却是大 ...
- matplotlib数组转图片的一些坑
最近用matplotlib遇到了一些坑,记录一下. 图片转数组 import matplotlib.pyplot as plt im_file='test_image.jpg' img=plt.imr ...
- jQuery---手风琴案例+stop的使用(解决动画队列的问题)
手风琴案例+stop的使用(解决动画队列的问题) stop();// 停止当前正在执行的动画 <!DOCTYPE html> <html lang="en"> ...
- Networking POJ - 1287 最小生成树板子题
#include<iostream> #include<algorithm> using namespace std; const int N=1e5; struct edge ...