加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

DbUtils的简单使用范例

发布时间:2020-12-15 03:17:43 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 DButils是Apache的一个开源数据库访问框架 import java.sql.ResultSet;import java.sql.SQLException;import java.util.List; import javax.sql.DataS

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

DButils是Apache的一个开源数据库访问框架
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;
        }
    }
     
     
     
}

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读