zoukankan      html  css  js  c++  java
  • 2017年6月短学期培训代码总结 -----JDBC

    本次代码主要描述了本地数据库后,使用JAVA语言进行 增 删 改 查,具体代码如下:

    接口类代码

    package cn.neusoft.mybatis.dao;

    import java.util.List;

    import cn.neusoft.mybatis.pojo.Userinfo;

    public interface UserinfoDao {

        //插入用户信息的插入       Userinfo 实体类可以携带  用户信息
        public boolean addUser(Userinfo userinfo);
        //根据  用户姓名   修改   用户密码
        public boolean updateUser(Userinfo userinfo);
        //根据   用户姓名   删除 用户信息
        public boolean deleteUser(String username);
        //查询所有用户信息
        public List<Userinfo>  findAll();
        //根据用户名查询  个人信息 ,根据实际情况一个用户名只会查到一个用户,所以只能查到记录,所以不用list
        public  Userinfo getuser(String username);
        public  Userinfo findByUsername(String username);
        //选做   实现如下分页查询方法    
        //select * from userinfo limit  pageSize(pageNo-1),pageSize;
        public  List<Userinfo> findByPage(int pageSize,int pageNo);
    }


    方法类代码:

    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) values (?,?)";
            //2.如果sql 语句中有问号,我们需要对应信息
            //obj 对象中  userinfo.getUsername()在本方法对应第一个问号
            //         userinfo.getPwd()在本方法对应第二个问号
            Object[] obj = new Object[]{userinfo.getUsername(),
                                        userinfo.getPwd()};
            //3.把sql 语句   以及  obj 对象 放入Dbutils  的executeUpdate方法中进行执行
            //注意 ,Dbutils  的executeUpdate方法类型是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) {
            // TODO Auto-generated method stub
            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) {
            // TODO Auto-generated method stub
            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 list;
        }
        
        @Override
        public Userinfo getuser(String username){
            String sql="select * from userinfo where username='"+username+"'";
            ResultSet rs = Dbutils.executeQuery(sql, null);
            Userinfo userinfo =  new Userinfo();
            //把rs 对象中查询到的每一组信息放入Userinfo实体类中
            
            try {
                if(rs.next()){
                    
            userinfo.setUserid(rs.getInt("userid"));
            userinfo.setUsername(rs.getString("username"));
            userinfo.setPwd(rs.getString("pwd"));
            
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return userinfo;
        }

        @Override
        public Userinfo findByUsername(String username) {
            // TODO Auto-generated method stub
            String sql="select * from userinfo where username=?";
            Object[] obj = new Object[]{username};
            ResultSet rs = Dbutils.executeQuery(sql, obj);
            Userinfo userinfo =  new Userinfo();
            try {
                while(rs.next()){
                    //由于查询所有信息,意味着Userinfo需要重复使用,那么就会在循环体中多次使用
                    //Userinfo
                    //把rs 对象中查询到的每一组信息放入Userinfo实体类中
                    userinfo.setUserid(rs.getInt("userid"));
                    userinfo.setUsername(rs.getString("username"));
                    userinfo.setPwd(rs.getString("pwd"));
                }    
            }catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            return userinfo;
        }
        
        @Override
        public List<Userinfo> findByPage(int pageSize, int pageNo) {
            List<Userinfo> list = new ArrayList<Userinfo>();
            int  i=pageSize*(pageNo-1);
            String sql = "select * from userinfo limit ?,?";
            //把sql 文  查询结果返回给  ResultSet 对象
            Object[] obj = new Object[]{i,pageSize};
            ResultSet rs = Dbutils.executeQuery(sql, obj);
            
            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 list;
        }
        }


    测试方法代码:

    package cn.neusoft.mybatis.test;

    import static org.junit.Assert.*;

    import java.util.List;

    import org.junit.Test;

    import cn.neusoft.mybatis.dao.UserinfoDao;
    import cn.neusoft.mybatis.dao.UserinfoDaoImpl;
    import cn.neusoft.mybatis.pojo.Userinfo;

    public class UserinfoDaoImplTest {
        
        private UserinfoDao userinfoDao = new UserinfoDaoImpl();
        /*@Test
        public void testAddUser() {
            //将类加载
            UserinfoDao dao = new UserinfoDaoImpl();
            //将  网页上获取的信息   放入   Userinfo  实体类
            Userinfo userinfo = new Userinfo("moucong", "123");
            boolean b = dao.addUser(userinfo);
            if(b){
                System.out.println("注册成功!");
            }else{
                System.out.println("注册失败!");
            }
        }
        
        @Test
        public void testUpdateUser(){
            UserinfoDao dao = new UserinfoDaoImpl();
            Userinfo userinfo = new Userinfo("moucong", "0627");
            boolean b = dao.updateUser(userinfo);
            if(b){
                System.out.println("更新成功!");
            }else{
                System.out.println("更新失败!");
            }
        }
        
        @Test
        public void testDeleteUser(){
            boolean b = userinfoDao.deleteUser("moucong");
            System.out.println(b);
        }
        
        @Test
        public void findAll(){
            List<Userinfo> list = userinfoDao.findAll();
            //打印list  第一个位置的  那一组数据中的  用户名
            System.out.println(list.get(0).getUsername());
            //循环的方式,打印所有用户信息
            for(int i =0;i<list.size();i++){
                System.out.println("~~~~~~~~~~~~~~~~~~~~");
                System.out.println("用户编号:"+list.get(i).getUserid());
                System.out.println("用户姓名:"+list.get(i).getUsername());
                System.out.println("用户密码:"+list.get(i).getPwd());
            }
        }
        
        @Test
        public  void  getuser(){
        Userinfo list = userinfoDao.getuser("moucong");
        System.out.println("用户编号:"+list.getUserid());
        System.out.println("用户姓名:"+list.getUsername());
        System.out.println("用户密码:"+list.getPwd());
    }*/
        @Test
        public  void findByPage(){
            List<Userinfo> list=userinfoDao.findByPage(2, 2);
            for(int i =0;i<list.size();i++){
                System.out.println("~~~~~~~~~~~~~~~~~~~~");
                System.out.println("用户编号:"+list.get(i).getUserid());
                System.out.println("用户姓名:"+list.get(i).getUsername());
                System.out.println("用户密码:"+list.get(i).getPwd());
            }
        }
        
        
    }

  • 相关阅读:
    maven springMVC SSM框架中 出现的406 (Not Acceptable)
    eclipse中maven项目部署到tomcat
    @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
    springMvc注解之@ResponseBody和@RequestBody
    springmvc后台接前端的参数,数组,集合,复杂对象等
    Spring项目JUnit测试报错ClassNotFoundException解决
    后台给前端返回图片
    前端js实现 blob转base64位 和 base64位转blob
    tomcat中实现特定路径下的图片的url访问Tomcat配置图片保存路径,图片不保存在项目路径下
    data:image/png;base64 上传图像将图片转换成base64格式
  • 原文地址:https://www.cnblogs.com/setname/p/7092075.html
Copyright © 2011-2022 走看看