短学期小结(1)

【插入用户信息、删除、查询方法的代码如下:】

package cn.neusoft.mybatis.dao;

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

import cn.neusoft.mybatis.jdbc.Dbutils;
import cn.neusoft.mybatis.pojo.Userinfo;

public class UserinfoDaoImpl implements userinfoDao {

    @Override
    public boolean addUser(Userinfo userinfo) {
        // 读取Userinfo实体类的信息,然后把信息插入到数据库
        //1、编写sql语句
        String sql = "insert into userinfo (username,pwd) value (?,?)";
        //2、如果sql语句中有问号,我们需要对应信息
        //obj 对象中 userinfo.getUsername()在本方法对应第一个问号
        //          userinfo.getPwd()在本方法中对应第二个问号
        Object[] obj = new Object[]{userinfo.getUsername(),
                                    userinfo.getPwd()};
        //3、把sql语句以及obj对象放入Dbutils 的executeUpdate方法中进行执行
        //注意,Dbutils 的executeDate方法类型是int类型,只能使用int类型接收
        int a = Dbutils.executeUpdate(sql, obj);
        if(0!=a){//如果insert 能执行,那么a的值就不会是0,那么我们认为操作成功,返回true
            return true;
        }
        return false;
    }
    
    @Override
    public boolean updateUser(Userinfo userinfo){
        String sql = "update userinfo set pwd='"+userinfo.getPwd()+
                "' where username='"+userinfo.getUsername()+"'";
        System.out.println(sql);
        //由于以上sql文 我们没有写?  所以不适用object[]对象做填充
        int a = Dbutils.executeUpdate(sql, null);
        if(0!=a){
            return true;
        }
        return false;
    }
    
    @Override
    public boolean deleteUser(String username){
        String sql = "delete from userinfo where username = ?";
        Object[] obj = new Object[]{username};
        int a = Dbutils.executeUpdate(sql, obj);
        if(0!=a){
            return true;
        }
        return false;
    }

    //查询所有用户信息,最后返回一个List集合
    @Override
    public List<Userinfo> findAll() {
        // TODO Auto-generated method stub
        List<Userinfo> list = new ArrayList<Userinfo>();
        String sql = "select * from userinfo";
        //把sql文查询结果返回给ResultSet对象
        ResultSet rs = Dbutils.executeQuery(sql, null);
        
        try {
            while(rs.next()){
                //由于查询所有信息意味着userinfo需要重复使用,那么就会再循环体中多次使用
                //Userinfo
                Userinfo userinfo = new Userinfo();
                //把rs对象中查询到的每一组信息放入Userinfo的实体类中
                userinfo.setUserid(rs.getInt("userid"));
                userinfo.setUsername(rs.getString("username"));
                userinfo.setPwd(rs.getString("pwd"));
                list.add(userinfo);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
}

原文地址:https://www.cnblogs.com/yvonne07/p/7100473.html