zoukankan      html  css  js  c++  java
  • baseDao及JDBC

    BaseDao

    package shop.dao;
    //包
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    //基类:数据库操作通用类
    public class BaseDao {
        protected Connection conn;
        protected PreparedStatement ps;
        protected Statement stmt;
        protected ResultSet rs;

        // 获取数据库连接
        public boolean getConnection() {
            // 读出配置信息
            String driver = "oracle.jdbc.driver.OracleDriver";
            String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
            String username ="t03";
            String password = "bdqn";
            // 加载JDBC驱动
            try {
                Class.forName(driver);
                // 与数据库建立连接
                conn = DriverManager.getConnection(url, username, password);
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return false;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return false;
            }
            return true;
        }

        // 获取数据库连接
        public Connection getConnection2() {
            try {
                // 初始化上下文
                Context cxt = new InitialContext();
                // 获取与逻辑名相关联的数据源对象
                DataSource ds = (DataSource) cxt.lookup("java:comp/env/jdbc/news");
                conn = ds.getConnection();
            } catch (NamingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return conn;
        }

        // 增删改
        public int executeUpdate(String sql, Object[] params) {
            int updateRows = 0;
            getConnection();
            try {
                ps = conn.prepareStatement(sql);
                // 填充占位符
                for (int i = 0; i < params.length; i++) {
                    ps.setObject(i + 1, params[i]);
                }
                updateRows = ps.executeUpdate();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return updateRows;
        }

        // 查询
        public ResultSet executeSQL(String sql, Object[] params) {
            getConnection();
            try {
                ps = conn.prepareStatement(sql);
                // 填充占位符
                for (int i = 0; i < params.length; i++) {
                    ps.setObject(i + 1, params[i]);
                }
                rs = ps.executeQuery();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return rs;
        }

        // 关闭资源
        public boolean close1() {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return false;
                }
            }
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return false;
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return false;
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    return false;
                }
            }
            return true;
        }

    }
    UserDaoImpl

    package shop.dao.impl;

    import java.sql.Date;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;

    import shop.dao.BaseDao;
    import shop.dao.UserDao;
    import shop.entity.User;

    public class UserDaoImpl extends BaseDao implements UserDao {

        @Override
        public boolean addUser(User user) {
            boolean flag = false;
            try {

                String sql = "insert into SMBMS_USER(userId,name ,loginName ,gender ,birthdate,phone ,userType,loginPwd,addree) " +
                        "VALUES(?,?,?,?,?,?,?,?,?)";
                Object[] paras = {user.getUserId(),user.getName(),user.getLoginName(),user.getGender(),user.getBirthdate(),user.getPhone(),user.getUserType(),user.getLoginPwd(),user.getAddress()};
                int i = this.executeUpdate(sql, paras);
                if (i > 0) {
                    System.out.println("插入成功!!!");
                    flag = true;
                }
            } finally {
                this.close1();

            }
            return flag;
        }

        @Override
        public boolean delUser(User user) {
            boolean flag = false;
            try {
                String sql="delete from smbms_user where userId=?";
                Object[] paras={user.getUserId()};
                int i=this.executeUpdate(sql, paras);
                if (i>0) {
                    System.out.println("删除成功!!!");
                    flag=true;
                }
            } finally  {
                this.close1();
            }
            return flag;
        }

        @Override
        public boolean updateUser(User user) {
            boolean flag = false;
            try {

                String sql = "update SMBMS_USER set name=?,loginName=?,gender=?,birthdate=?,phone=?,userType=?,loginPwd=?,addree=? where userId=? ";
                Object[] paras = {user.getName(),user.getLoginName(),user.getGender(),user.getBirthdate(),user.getPhone(),user.getUserType(),user.getLoginPwd(),user.getAddress(),user.getUserId()};
                int i = this.executeUpdate(sql, paras);
                if (i > 0) {
                    System.out.println("修改成功!!!");
                    flag = true;
                }
            } finally {
                this.close1();

            }
            return flag;
        }
        
        
        @Override
        public List<User> getUsers(String name1) {
            List<User> userList = new ArrayList<User>();
            try {
                String sql = "select userId ,u.name ,u.loginName ,u.gender ,u.birthdate,u.phone ,u.userType,u.addree,u.loginPwd from smbms_user u where u.name like ?";
                
                //String sql ="select u.* from smbms_user u";
                Object[] paras = {"%"+name1+"%"};
                ResultSet rs = this.executeSQL(sql, paras);
                while (rs.next()) {
                    // 在数据库中取值
                    int userid = rs.getInt("userId");
                    String name = rs.getString("name");
                    String loginName = rs.getString("loginName");
                    int gender = rs.getInt("gender");
                    Date birthDate = rs.getDate("birthdate");
                    String phone = rs.getString("phone");
                    int userType = rs.getInt("userType");
                    String loginPwd=rs.getString("loginPwd");
                    String address=rs.getString("addree");
                    // 给user赋值
                    User user = new User();
                    user.setUserId(userid);
                    user.setName(name);
                    user.setLoginName(loginName);
                    user.setGender(gender);
                    user.setBirthdate(birthDate);
                    user.setPhone(phone);
                    user.setUserType(userType);
                    user.setAddress(address);
                    user.setLoginPwd(loginPwd);
                    
                    //System.out.println(userid+"--"+user.getLoginName()+"--"+user.getQuanXian()+"--"+name+"--"+birthDate+"--"+phone+"--"+user.getMygender()+"--"+user.getAddress()+"--"+user.getLoginPwd());
                    // 添加user到userList集合
                    userList.add(user);
                }
            } catch (SQLException e) {

                e.printStackTrace();
            } finally {

                this.close1();
            }
            return userList;
        }


    @Override
    public User getuser(int userId) {
        User user = null;
        try {
            String sql = "select userId ,u.name ,u.loginName ,u.gender ,u.birthdate,u.phone ,u.userType,u.addree,u.loginPwd from smbms_user u where u.userId=?";
            Object[] paras = {userId};
            ResultSet rs = this.executeSQL(sql, paras);
            while (rs.next()) {
                // 在数据库中取值
                String name = rs.getString("name");
                String loginName = rs.getString("loginName");
                int gender = rs.getInt("gender");
                Date birthDate = rs.getDate("birthdate");
                String phone = rs.getString("phone");
                int userType = rs.getInt("userType");
                String loginPwd=rs.getString("loginPwd");
                String address=rs.getString("addree");
                // 给user赋值
                user = new User();
                user.setUserId(userId);
                user.setName(name);
                user.setLoginName(loginName);
                user.setGender(gender);
                user.setBirthdate(birthDate);
                user.setPhone(phone);
                user.setUserType(userType);
                user.setAddress(address);
                user.setLoginPwd(loginPwd);
                
                //System.out.println(userid+"--"+user.getLoginName()+"--"+user.getQuanXian()+"--"+name+"--"+birthDate+"--"+phone+"--"+user.getMygender()+"--"+user.getAddress()+"--"+user.getLoginPwd());
            }
        } catch (SQLException e) {

            e.printStackTrace();
        } finally {

            this.close1();
        }
        return user;
    }
    }


  • 相关阅读:
    iOS NSDictionary或NSArray与JSON字符串相互转换
    iOS 如何用Xib画一个Button
    iOS 你不知道的字符串用法
    IOS ScrollView pagingEnabled移动指定偏移
    TableView行缩进 自定义cell时候
    支付宝回调
    微信支付回调
    关于Bundle传递消息
    关于Handler
    ExpandableListView
  • 原文地址:https://www.cnblogs.com/anshuo/p/5380841.html
Copyright © 2011-2022 走看看