关于Javaweb的比较好用的jar包概述

摘要:
用于连接到数据库的数据库连接池c3p0jar包:c3p0-0.9.5-pre1.jar取决于mchange commons-java-0.2.4。jarticast工具1.4。jar配置文件:c3p0-config.xmljdbc:mysql://localhost:3306/customerscom.mysql.jdbc.Driverroot˃123˂!)“;Object[]params={user.getUid(),user.getUsername(),user.getPassword(),user.getEmail(),用户.getCode(),user.isState()};qr.update;}catch{thrownewRuntimeException;}}//使用激活代码查找用户publicUserfindByCode{try{//sql template Stringsql=”SELECT*FROMtb_userwherecode=?

(连接数据库之前首先要导入这个数据库的驱动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模板和参数即可 展示一段代码:

关于Javaweb的比较好用的jar包概述第1张关于Javaweb的比较好用的jar包概述第2张
//注册用户(添加用户)
    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);
        }
    }
View Code

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

代码展示:

关于Javaweb的比较好用的jar包概述第3张关于Javaweb的比较好用的jar包概述第4张
//按用户名查找用户
    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);
        }
    }
View Code

免责声明:文章转载自《关于Javaweb的比较好用的jar包概述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu Linux启用root用户登录Extjs6(特别篇)——项目自带例子main.js拆分详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mongodb启动

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可护展的高性能数据存储解决方案。MongoDB是一款分布式文档数据库,支持类似关型数据库的主从结构,文档以二进制Json形式存储,无锁,无事务,有索引。1. MongoDB的启动与停止 MongoDB的启动之前已经谈过,但是需要注意的MongoDB在启动时有很多可配置的启...

SQL Server dbcc checkdb 做了什么。

第一步:          读取系统元数据、读完这些数据后dbcc checkdb 就知道自己要检测的是一个怎样的数据库了、如果在这一步就出错了、dbcc 就直接出错          了、不会再运行下去。 第二步:          在dbcc checkdb 内部会对数据库运行dbcc checkalloc命令          dbcc checka...

Oracle 12c 分片(Sharding)技术

Sharding特点 Oracle12c Sharding技术实现了跨数据库级别的数据分片,实现了分布式IO大数据扩展的云数据库架构体系,可满足大数据海量存储、分布式数据读写以及满足Scale Out/ScaleUp扩展性需求。Sharding的主要特点: 线性伸缩性(Scale out):Sharding技术减少性能瓶颈,同时可以通过添加Shard节点...

SQL Server已提交读快照隔离级别的设置

如果要把SQL Server数据库事务隔离级别设置为已提交读快照隔离 如果直接运行下面的语句: ALTER Database [mydbname] SET READ_COMMITTED_SNAPSHOT ON 会可能被阻塞很长时间。我这边在正式环境测试过4个小时都没有执行完。 你可以选择运行下面的语句: if(charindex('Microsoft...

mysql:mysql安装及一些配置和图形界面介绍

关于mysql,我使用的不多,这次记录是在学习一位大牛的demo的契机下完成的。包括前面记录到的sqlserver的一些知识点,也是在新的项目组中协助时候学习记录的。希望通过记录加深印象和帮助后来者。 言归正传: 一、安装版的mysql 1.数据库版本:mysql 5.6 (网上有资源)我的安装目录 2.图形化界面:这个在网上搜索的话,会有一大堆介绍,在这...

(2356)SQLite多线程下的并发操作_飞翔的种子_百度空间

(2356)SQLite多线程下的并发操作_飞翔的种子_百度空间 SQLite多线程下的并发操作 这两天一直在捣鼓SQLite数据库,基本的操作就不说了,比较简单,打算有空的话另起一篇博文简单总结一下。 这里主要想探讨一下多路并发下的数据库操作 SQLite作为一款小型的嵌入式数据库,本身没有提供复杂的锁定机制,无法内部管理多路并发下的数据操作同步问题,...