zoukankan      html  css  js  c++  java
  • JAVA DBUtils

    1、DBUtils就是JDBC的简化开发工具包
    QueryRunner核心类
    update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
    query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
    2、QueryRunner实现查询:BeanListHandler、BeanHandler、ScalarHandler。

    3、javaEE三层架构+MVC

    web层:收集页面数据,封装数据,传递数据,指定响应jsp页面
    service层:逻辑业务代码的编写
    dao层:数据库的访问代码的编写

    package com.oracle.dao;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.List;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.ArrayHandler;
    import org.apache.commons.dbutils.handlers.ArrayListHandler;
    import org.apache.commons.dbutils.handlers.BeanHandler;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    import org.apache.commons.dbutils.handlers.ColumnListHandler;
    import org.apache.commons.dbutils.handlers.ScalarHandler;
    
    import com.oracle.domain.User;
    
    import src.com.oracle.tools.JDBCutils;
    
    public class dao {
        // 新增用户
        public int addUser(User user) throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "insert into user(uname ,pwd) values(?,?)";
            int row = qr.update(conn, sql, user.getUname(), user.getPwd());
            conn.close();
            return row;
        }
    
        // 修改用户
        public int updateUser(User user) throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "update user set uname=?,pwd=? where uid=?";
            Object[] obj = { user.getUname(), user.getPwd(), user.getUid() };
            int row = qr.update(conn, sql, obj);
            conn.close();
            return row;
    
        }
    
        // 删除用户
        public int deleteuser(int uid) {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "delete from user where uid=?";
            try {
                return qr.update(conn, sql, uid);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
            return uid;
        }
    
        // 查询1 ArrayHandler
        // 结果集第一行封装成Object[]数组
        public Object[] getuser1() throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select* from user ";
            Object[] obj = qr.query(conn, sql, new ArrayHandler());
            conn.close();
            return obj;
        }
    
        // 查询2 ArrayListHandler
        // 结果集中每一条数据封装到Object数组中,再封装到List集合中
        public List<Object[]> getuser2() throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select* from user ";
            List<Object[]> list = qr.query(conn, sql, new ArrayListHandler());
            conn.close();
            return list;
        }
        //查询3 BeanHandler <User>(User.class)
        public User getuser3() throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select* from user ";
            User user = qr.query(conn,sql , new BeanHandler<User>(User.class));
            conn.close();
            return user;
        }
      //查询4 BeanListHandler ,讲结果集中的每一条记录封装到指定的JAVABean中,再将JAVABean封装List
        public List<User> getuser4() throws SQLException{
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select* from user ";
            List<User> list = qr.query(conn, sql,new BeanListHandler<User>(User.class));
            conn.close();
            return list;
        }
        //查询5 ColumnListHandler将指定字段的结果集封装成list集合
        public List<String> getuser5() throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select uname from user ";
            List<String> list = qr.query(conn, sql,new ColumnListHandler<String>());
            conn.close();
            return list;
        
        }
        //查询6 ScalarHandler查询单数据
        public int getuser6() throws SQLException {
            Connection conn = JDBCutils.getConn();
            QueryRunner qr = new QueryRunner();
            String sql = "select count(*) from user ";
            long count = qr.query(conn, sql, new ScalarHandler<Long>());
            conn.close();
            int c = (int)count;
            
            return c;
        }
    }
    package com.oracle.test;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.List;
    
    import javax.swing.plaf.synth.SynthSeparatorUI;
    
    import com.oracle.dao.dao;
    import com.oracle.domain.User;
    
    import src.com.oracle.tools.JDBCutils;
    
    public class test {
    
        public static void main(String[] args) throws SQLException {
            // dao d =new dao();
            // User user = new User();
            // user.setUid(3);
            // user.setUname("大灰狼");
            // user.setPwd("45625");
            // int row = d.updateUser(user);
            // System.out.println(row);
            method2();
            method03();
            method04();
            method05();
            method06();
            method07();
        }
    
        // 查询1 ArrayHandler 测试
        public static void method2() throws SQLException {
            dao d = new dao();
            Object[] obj = d.getuser1();
            for (Object o : obj) {
                System.out.println(o);
            }
        }
    
        // 查询2测试 ArrayListHandler
        public static void method03() throws SQLException {
            dao d = new dao();
            List<Object[]> list = d.getuser2();
            for (Object[] obj : list) {
                for (Object o : obj) {
                    System.out.print(o + "");
                }
                System.out.println();
            }
        }
    
        // 查询3 测试 BeanHandler
        public static void method04() throws SQLException {
            dao d = new dao();
            User user = d.getuser3();
            System.out.println(user);
        }
        //查询4
        public static void method05() throws SQLException {
            dao d = new dao();
            List<User> list = d.getuser4();
            for(User u:list) {
                System.out.println(u);
            }
        }
        //查询5测试 
        public static void method06() throws SQLException {
            dao d = new dao();
            List<String > list =d.getuser5();
            for(String s:list) {
                System.out.println(s);
            }
        }
        //查询6测试
        public static void method07() throws SQLException {
            dao d = new dao();
            int i =d.getuser6();
            System.out.println(i);
        }
    }
  • 相关阅读:
    【Networking】(转)一个非常好的epoll+线程池服务器Demo
    【算法】Logistic regression (逻辑回归) 概述
    【Linux】/dev/null 2>&1 详解
    单点登录与联合登录
    web项目报outmemory错误解决方案
    hadoop学习之HDFS
    ELK日志分析系统
    基于cookie共享的SSO中的遇到的问题
    oracle的隐式游标
    mysql截取字符串与reverse函数
  • 原文地址:https://www.cnblogs.com/time-to-despair/p/9873630.html
Copyright © 2011-2022 走看看