mysql dbutil_通过dbutil操作数据库
dbutil操作数据库工具类
步骤
导入jar包
c3p0-0.9.1.2.jar commons-dbutils-1.6.jar mysql-connector-java-5.1.12-bin.jar
把c3p0配置文件放到src目录下(src下一级目录,否则出错),
c3p0-config.xml (连接数据库的驱动,url,名字,密码,,,,等)
创建连接池
ComboPooledDataSource ds = new ComboPooledDataSource();
拿到执行sql的关键对象QueryRunner
QueryRunner qr = new QueryRunner(ds);
写sql语句
增:String sql=” insert into user(name,age) values(?,?)”;
删:String sql="delete from user where id="+u.getId();
改:String sql="update user set name=?,age=? where id=?";
查:
查一个:String sql="select * from user where id=?";
查一批:String sql="select * from user";
将sql语句放入Query对象,调用相应方法增删改查
不要疑惑,增加、修改、删除都可以调用update方法,内部会通过判断有无id而具体实行增加还是修改,只有sql时删除。
增:int num = qr.update(sql, u.getName(),u.getAge());
改:int num = qr.update(sql, u.getName(),u.getAge(),u.getId());
删:int num=qr.update(sql);
查:
查一个
User user = qr.query(sql, new BeanHandler(User.class), id);
查一批
List users = qr.query(sql, new BeanListHandler(User.class));
注:增删改都可用Query对象的update方法,查询的同时将查到的数据封装成对应的对象或者集合。
示例代码:
c3p0-config.xml
com.mysql.jdbc.Driver
jdbc:mysql://localhost/test
root
5
10
DbUtil.java
package util;
import org.apache.commons.dbutils.QueryRunner;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DbUtil {
//构造数据源
private static ComboPooledDataSource ds=new ComboPooledDataSource();
public static QueryRunner getRuertyRunner(){
//拿到操作数据库的关键对象QueryRunner,把数据源放进去
QueryRunner qr = new QueryRunner(ds);
return qr;
}
}
User.java
package entity;
public class User {
private int id;
private int age;
private String name;
public User() {
super();
}
public User(int id, int age, String name) {
super();
this.id = id;
this.age = age;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
UserDao.java
package dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import util.DbUtil;
import entity.User;
public class UserDao {
/*public int add(User u){
Connection conn = JdbcUtil.getConnection();
String sql="insert into user(name,age) values(?,?)";
PreparedStatement ps=null;
int num=0;
try {
ps = conn.prepareStatement(sql);
ps.setObject(1, u.getName());
ps.setObject(2, u.getAge());
num=ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return num;
}*/
//dbutil
QueryRunner qr = DbUtil.getRuertyRunner();
public int add(User u){
String sql="insert into user(name,age) values(?,?)";
int num=0;
try {
num = qr.update(sql, u.getName(),u.getAge());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
public int delete(User u){
String sql="delete from user where id="+u.getId();
int num=0;
try {
num = qr.update(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
public int update(User u){
String sql="update user set name=?,age=? where id=?";
int num =0;
try {
num= qr.update(sql, u.getName(),u.getAge(),u.getId());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
public User selectOne(int id){
String sql="select * from user where id=?";
User user=null;
try {
user = qr.query(sql, new BeanHandler(User.class), id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return user;
}
public List selectAll(){
String sql="select * from user";
List users=null;
try {
users = qr.query(sql, new BeanListHandler(User.class));
} catch (SQLException e) {
e.printStackTrace();
}
return users;
}
}
mysql dbutil_通过dbutil操作数据库相关推荐
- php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码
<Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...
- 数据库应用——MySQL基础知识和操作数据库
这里写目录标题 初识MySQL 什么是数据库 数据库分类 MySQL简介 安装MYSQL win10安装 安装SQLyog 连接数据库 linux安装 使用Navicat Premium连接数据库 操 ...
- C++利用MySQL API连接和操作数据库
1.C++连接和操作MySQL的方式 在Windows平台,我们可以使用ADO.ODBC或者MySQL API进行连接和操作.ADO (ActiveX Data Objects,ActiveX数据对象 ...
- yaf mysql pdo 封装_PDO 操作数据库
# PDO 操作数据库 *** Yaf 框架(3.0.5版本)目前并没有提供数据库 ORM 类,据鸟哥的博客来说,以后或许会提供.使用了 ORM 类为团队带来的便捷和规范,但是带来了性能的下降.直接使 ...
- MySql学习【一】mysql的安装,操作数据库/表/查询表中数据/mysql日期计算
1.安装和连接数据库的注意事项 1.在mac电脑上安装mysql,官网下载即可. 2.mysql返回的执行行数和时间,时间并不精确.其中时间是指挂钟时间 [返回进程启动到调用函数时所经过的CPU时钟计 ...
- MySQL学习第二天—操作数据库\数据表命令
文章目录 一.登录数据库 二.基本数据库操作命令 1. 操作数据库 1.1 创建数据库 1.2 删除数据库 1.3 查看数据库 1.4 使用数据库 1.5 其他操作 2.操作数据表 2.1 创建数据表 ...
- java连接mysql通用方法_jdbc操作数据库通用方法
1 /** 2 * 增删改查操作公共类(以oracle数据库为例)3 * 2017-8-29 wuyafei4 *5 */ 6 public classCrudUtil {7 /** 8 * 1.获取 ...
- jsp mysql事务锁,JSP操作数据库的事务回滚
基础介绍 1.先设置为手动提交 conn.setAutoCommit(false); //将自动提交设置为false 2.若成功则提交 conn.commit(); //当操作成功后手动提交 3.若失 ...
- pbp 读取 mysql数据_SqlAlchemy 中操作数据库时session和scoped_session的区别(源码分析)...
原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalch ...
- php获取mysql数据菜鸟_PHP操作数据库
function con(){ // MYSQL连接参数 $dsn='mysql:host=127.0.0.1;dbname=hello;charset=utf8;port=3306;'; $dbna ...
最新文章
- 算法--------数组类---------总结
- 破解加密PDF文件pdfcrack
- java面试题,将String字符串转换成数字
- 一个直角三角形的两个直角边是 a,b(a≤b),其斜边是 c,且 a,b,c都是正整数。现在我们已经知道了斜边长度c,请问这个直角三角形的两个直角边的长度是什么?Java
- java二维数组数字数显次数_【每日一题】118.数组中数字出现的次数
- shiro框架的学习
- 蓝桥杯第六届省赛JAVA真题----循环节长度
- C语言课后习题(61)
- 记一次线上Zabbix对Redis监控实录
- php 获取文件加的名称
- 触动精灵将图片转成base64字符串后通过post方式上传给服务器
- 保研计算机专硕还是学硕,考研怎么选报专硕还是学硕
- 诡异事件:天翼云主机CentOS8.2配置RedisServer5.0.3无法启动
- Lambda 表达式详解
- TypeScript数据类型
- 连接Linux服务器下Oracle数据库提示:ORA-12541: TNS: 无监听程序
- sql 窗口函数ROW_NUMBER() 分组/排序/计数
- AI测谎仪:通过微表情在法庭检测谎言,性能已优于人类
- 湖南师范大学 C语言考试操作题汇总。
- 流程图符号及流程图的例子