问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在spring的配置文件里出现了JdbcBaseDao,请问这是什么意思,做什么用的?

发布网友 发布时间:2022-04-30 22:25

我来回答

3个回答

懂视网 时间:2022-05-01 02:46

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;
}
}


baseDao及JDBC

标签:

热心网友 时间:2022-04-30 23:54

一个持久基类JdbcBaseDao 继承了 Spring的 JdbcSupportDao类 一般是做数据持久化处理,也就是将信息保存到数据库而写的一个数据访问对象类。

热心网友 时间:2022-05-01 01:12

数据库连接的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...每次文字比较多超出屏幕大小就不知道怎么截屏,求教大佬! 我国政策性 广西明士清医疗器械有限公司怎么样? 广西禾力药业有限公司怎么样? 广西龙母圣商贸有限公司怎么样? 安徽合肥有什么去痔的好地方 我女朋友的谷丙转氨酶过高(达到121),而且两对半检测为阴性,是肝功能有... 泸州丽人女子医院开展科室 自由之子本次世界杯是否将在小组赛中被菜? 世界杯谁会嬴 电脑关机了 怎么主机灯还亮着 好像里面还在工作 是怎么回事 电脑主机电源指示灯关机后还是亮着,是什么原因 fellow analyst是什么意思? IEEE FELLOW 比院士级别高吗 research fellow是什么意思 fellowship是什么职称 My students翻译为我的学生,my fellow students怎么就被译为我的同学了呢?学生和同学该用哪个?谢谢 英语fellow men怎么翻译? 英语怎么说:“哥们儿” technical fellow是什么意思 gee pal fellow guy 有什么区别 英文翻译:&quot;Fellow&quot;在这里究竟是什么意思? colleague,fellow和companion的区别 简述托马斯库克对旅游业的贡献是什么? 这里的fellow是什么意思? fellow什么意思??? 旅游业的标志是什么? 中国近代旅游业是如何产生的? 充电宝加盟的品牌如何抉择?现在想弄几个一起怪兽,速绿等等 旅游学概论:为什么把旅行社的出现当作是近代旅游业诞生的标志? 为什么我的电脑关了机机箱还亮灯? 为什么我的电脑关了机主机灯箱还亮这灯呢这耗不耗电 电脑正常关机后,主机显示灯为何还亮着 你好,我的笔记本屏幕裂了,是戴尔15寸,inspiron,i5的,换个屏幕要多少钱? 我手机上打鱼输了8万,请问有什么好办法讨要点 戴尔笔记本电脑显示屏玻璃有裂痕 要是换玻璃多少钱? 戴尔笔记本内屏裂了,换的话要多少钱 DELL笔记本inspiron 700M屏幕坏了,换一个要多少钱? x32 talkback怎么使用 父亲送女儿什么花好 女儿生日送什么花 给怀孕的女人送什么生日礼物 办房产证过户需要什么手续及证件 我想送四岁女儿花,过生日,什么花合适? 过户房产证需要什么手续及证件 女孩过生日想送花,不知道送什么花? 女孩生日送什么花好 华为M30手机屏碎了,怎么导出里面的文件,怎么连接电脑USB无法连接_百度问一问 如何把LAYER1里的移动到LAYER2? 那些在网页的边上显示的qq交谈是怎么来的?