package com.test.dbutil;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import javax.sql.DataSource;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class UserDaoImpl implements UserDao {
public DataSource getDataSource(){
String url = "jdbc:mysql://127.0.0.1:3306/testdbutils";
MysqlDataSource ds = new MysqlDataSource();
ds.setServerName("127.0.0.1");
// ds.setDatabaseName("testdbutils");
ds.setURL(url);
ds.setUser("root");
ds.setPassword("123456");
ds.setCharacterEncoding("utf8");
return ds;
}
public BeanListHandler<User> getBeanListHandler(){
return new BeanListHandler<User>(User.class);
}
public BeanHandler<User> getBeanHandler(){
return new BeanHandler<User>(User.class);
}
public void delete(int id) {
QueryRunner runner = new QueryRunner(getDataSource());
try {
int affectedRows = runner.update("delete from user where id = ?",id);
System.out.println("删除成功,影响的行数:"+affectedRows);
} catch (SQLException e) {
System.out.println("删除id为"+id+"的记录失败。错误为:"+e.getMessage());
}
}
public void delete(User user) {
delete(user.getId());
}
public List<User> getAllUsers() {
QueryRunner runner = new QueryRunner(getDataSource());
try {
return runner.query("select * from user", getBeanListHandler());
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public User getById(int id) {
QueryRunner runner = new QueryRunner(getDataSource());
User user = null;
try {
user = runner.query("select * from user where id = ?", getBeanHandler(),id);
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
public void save(User user) {
QueryRunner runner = new QueryRunner(getDataSource());
try {
runner.update("insert into user values(?,?,?,?,?)",new Object[]{
user.getId(),
user.getName(),
user.getAge(),
user.getSex(),
user.getBirth()
});
} catch (SQLException e) {
System.out.println("插入失败,失败原因:"+e.getMessage());
}
}
public long getCount() {
QueryRunner runner = new QueryRunner(getDataSource());
try {
Long count = runner.query("select count(*) as count from user", new ResultSetHandler<Long>(){
public Long handle(ResultSet rs) throws SQLException {
if(rs.next()){
return rs.getLong(1); //或者rs.getLong("count");
}
return 0L;
}
});
//或者用ScalarHandler, 这里的new ScalarHandler() 可以加上“count”参数
// Long count = (Long)runner.query("select count(*) as count from user",new ScalarHandler(){
//
// @Override
// public Object handle(ResultSet rs) throws SQLException {
// return super.handle(rs);
// }
//
// });
return (Long)count;
} catch (SQLException e) {
e.printStackTrace();
return 0L;
}
}
}
如果什么框架都不想用,那就最基础的jdbc吧,简单封装下。
分享到:
相关推荐
apache dbutils中文说明
这个是Apache DbUtils 1.5 API,是我根据官方的制作的
采用Apache dbutils操作数据库的DAO类:
commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 springmvc与springmvc 整合demo
基于springmvc 、SpringBoot与apache dbutils整合的SWT、JFACE实现自动生成 model、dao、service代码 以及配置文件,并实现了事务。此工具源码请关注https://gitee.com/00fly/springmvc_dbutils_plus
Springmvc、Apache Dbutils、SpringBoot、Mybatis、MybatisPlus、SpringDataJPA等技术项目代码生成工具,此工具源码请关注https://gitee.com/00fly/javacode-all-in-one
apache dbutils ..............................
commons-dbutils是Apache组织提供的一个开源JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。因此dbutils成为很多不喜欢hibernate的公司...
DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。
apache 的 DBUtils是一个为简化JDBC操作的小类库,使用方便,上手很快,是个不错的东西
Apache Commons DbUtils 1.6 API,网页形式的api文档
Apache DBCP,工具亲测有效,=================================================================================
apache commons dbutils api_zh
包括文件: DdlUtils-1.0.jar DdlUtils-1.0-bin.zip DdlUtils-1.0-doc.zip DdlUtils-1.0-src.zip
Apache commons dbutils 1.4jar是JDBC的开源数据库工具包
apache 的 DbUtils1.6版的Html格式API 很全1.6最新版的Apache de DbUtils API网上不好找到的,找了很久,传上来方便大家下载
由于Apache 官网下载加载时间较长,所以上传到CSDN供大家下载
直接下载地址:http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi Apache dbutils\commons-dbutils-1.4-bin\commons-dbutils-1.4下面的commons-dbutils-1.4-sources.jar
apache commons dbutils实现增删改查功能
Springboot apache dbutils 增删改查,完整的controller、 model、dao、service代码 以及springboot配置文件,并实现了事务控制