JDBC2增删改查

一,实体类:

1.无参构造方法:

//无参构造函数
    public Books() {

    }

2.有参构造方法:

//构造方法

    public Books(int bookId, String bookName, String bookAuthor, int bookNum, double bookPrice, String introduce) {
        this.bookId = bookId;
        this.bookName = bookName;
        this.bookAuthor = bookAuthor;
        this.bookNum = bookNum;
        this.bookPrice = bookPrice;
        this.introduce = introduce;
    }

3.getter和setter方法

 //getter和setter方法
    public int getBookId() {
        return bookId;
    }

    public void setBookId(int bookId) {
        this.bookId = bookId;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getBookAuthor() {
        return bookAuthor;
    }

    public void setBookAuthor(String bookAuthor) {
        this.bookAuthor = bookAuthor;
    }

    public int getBookNum() {
        return bookNum;
    }

    public void setBookNum(int bookNum) {
        if (0 <= bookNum && bookNum <= 100) {
            this.bookNum = bookNum;
        }
    }

    public double getBookPrice() {
        return bookPrice;
    }

    public void setBookPrice(double bookPrice) {
        this.bookPrice = bookPrice;
    }

    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

4.toString方法

 //toString 方法
    @Override
    public String toString() {
        return "Books{" +
                "bookId=" + bookId +
                ", bookName='" + bookName + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookNum=" + bookNum +
                ", bookPrice=" + bookPrice +
                ", introduce='" + introduce + '\'' +
                '}';
    }

二,1.全查

 //全部查询
    @Test
    public void selectAll() throws Exception {
        //1.调用jar包
        //2.加载驱动
        Class.forName(driver);
        //3.调用Connection 获取连接
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="select*from teacher";
        PreparedStatement ps = con.prepareStatement(sql);
        //5.执行sql语句
        ResultSet rs = ps.executeQuery();
        //创建list集合
        List<Teacher> teacherList=new ArrayList<>();
        //6.遍历
        while(rs.next()){
            //创建teacher对象
            Teacher teacher=new Teacher();
            teacher.settId(rs.getInt("tId"));
            teacher.settName(rs.getString("tName"));
            teacher.settSex(rs.getString("tSex"));
            teacher.settAge(rs.getInt("tAge"));
            teacher.settAddr(rs.getString("tAddr"));
            //添加到list集合中
            teacherList.add(teacher);
        }
        System.out.println(teacherList);
        //7.关闭资源
        if(rs!=null){
            rs.close();
        }
        if(ps!=null){
              ps.close();
          }
        if(con!=null){
            con.close();
        }
    }

2.添加

//添加操作
    @Test
    public void testAdd() throws Exception {
        //1.调用jar包
        //2.加载管理器驱动
        Class.forName(driver);
        //3.通过驱动管理器获取Connection对象
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="insert into teacher(tName,tSex,tAge,tAddr) values(?,?,?,?);";
        //通过Connection 获取PreparedStatement对象
        PreparedStatement ps = con.prepareStatement(sql);
        //创建teacher对象将值存入
        Teacher teacher=new Teacher();
        teacher.settName("王五");
        teacher.settSex("男");
        teacher.settAge(21);
        teacher.settAddr("河北");
        //5.传参
        ps.setObject(1,teacher.gettName());
        ps.setObject(2,teacher.gettSex());
        ps.setObject(3,teacher.gettAge());
        ps.setObject(4,teacher.gettAddr());
        //6.执行sql语句
        int n=ps.executeUpdate();
        //判断结果
        if(n>0){
            System.out.println("插入成功");
        }else{
            System.out.println("插入失败");
        }
        //7.关闭资源
        if(ps!=null){
            ps.close();
        }
        if(con!=null){
            con.close();
        }

    }

3.删除

//删除操作
    @Test
    public void testDel() throws Exception {
        //1.调用jar包
        //2.加载管理器驱动
        Class.forName(driver);
        //3.通过管理器驱动获取Connection对象
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="delete from teacher where tId=?";
        //获取PreparedStatement对象
        PreparedStatement ps = con.prepareStatement(sql);
        //5.传参
        int tId=5;
        ps.setObject(1,tId);
        //6.执行sql语句
        int n=ps.executeUpdate();
        //判断结果
        if(n>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
        //7.回收资源
        if(ps!=null){
            ps.close();
        }
        if(con!=null){
            con.close();
        }
    }

4.修改

//修改操作
    public Teacher selectById(int id) throws Exception{
        //1.调用jar包
        //2.加载管理器驱动
        Class.forName(driver);
        //3.通过管理器驱动程序获取Connection
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="select*from teacher where tId=?";
        //获取PreparedStatement
        PreparedStatement ps = con.prepareStatement(sql);
        //5.执行sql语句
        ps.setObject(1,id);
        ResultSet rs = ps.executeQuery();
        //创建teacher对象
        Teacher teacher=null;
        //6.操作判断
        if(rs.next()){
            teacher=new Teacher();
            teacher.settName(rs.getString("tName"));
            teacher.settSex(rs.getString("tSex"));
            teacher.settAge(rs.getInt("tAge"));
            teacher.settAddr(rs.getString("tAddr"));
        }
        //回收资源
        if(rs!=null){
            rs.close();
        }
        if(ps!=null){
            ps.close();
        }
        if(con!=null){
            con.close();
        }
        return teacher;
    }
    @Test
    public void testUpdate() throws Exception {
        Teacher teacher=selectById(2);
        //获取修改前的
        System.out.println("修改前的:"+teacher);
        //创建Scanner对象
        Scanner sc=new Scanner(System.in);
        //提示用户输入
        System.out.println("请输入修改后的姓名:");
        //获取用户输入的数据
        String newName=sc.next();
        teacher.settName(newName);
        //提示用户输入
        System.out.println("请输入修改后的性别:");
        //获取用户输入的数据
        String newSex=sc.next();
        teacher.settSex(newSex);
        //提示用户输入
        System.out.println("请输入修改后的年龄:");
        //获取用户输入的数据
        int newAge=sc.nextInt();
        teacher.settAge(newAge);
        //提示用户输入
        System.out.println("请输入修改后的地址:");
        //获取用户输入的数据
        String newAddr=sc.next();
        teacher.settAddr(newAddr);
        System.out.println("修改后:"+teacher);

        //1.调用jar包
        //2.加载管理器驱动
        Class.forName(driver);
        //3.通过管理驱动程序获取
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="update teacher set tName=?,tSex=?,tAge=?,tAddr=? where tId=?";
        //获取PreparedStatement
        PreparedStatement ps = con.prepareStatement(sql);
        //5.传参
        ps.setObject(1,teacher.gettName());
        ps.setObject(2,teacher.gettSex());
        ps.setObject(3,teacher.gettAge());
        ps.setObject(4,teacher.gettAddr());
        ps.setObject(5,teacher.gettId());
        //6.执行sql语句
        int n=ps.executeUpdate();
        //判断结果
        if(n>0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }
        //7.回收资源
        if(ps!=null){
            ps.close();
        }
        if(con!=null){
            con.close();
        }
    }

5.模糊查询

//模糊查询
    @Test
    public void selectTest() throws Exception {
        //1.
        //2.加载驱动
        Class.forName(driver);
        //3.获取Connection
        Connection con = DriverManager.getConnection(url, username, password);
        //4.编写sql语句
        String sql="select*from teacher where tName like ?";
        PreparedStatement ps = con.prepareStatement(sql);
        //5.传参
        String a="刘";
        ps.setObject(1,"%"+a+"%");
        //6.执行sql语句
        ResultSet rs = ps.executeQuery();
        List<Teacher> teacherList=new ArrayList<>();
        //遍历
        while(rs.next()){
            Teacher teacher=new Teacher();
            teacher.settId(rs.getInt("tId"));
            teacher.settName(rs.getString("tName"));
            teacher.settSex(rs.getString("tSex"));
            teacher.settAge(rs.getInt("tAge"));
            teacher.settAddr(rs.getString("tAddr"));
            teacherList.add(teacher);
        }
        System.out.println(teacherList);
        //回收资源
        if(rs!=null){
            rs.close();
        }
        if(ps!=null){
            ps.close();
        }
        if(con!=null){
            con.close();
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值