jdbc学习

JDBC简单练习

今天先说一下简单的利用jdbc来增删查改一些基本操作。
一般就是五步走
1:注册驱动
2:数据库连接
3:获取执行sql语句对象
4:写sql语句
5:释放资源
下面是一些代码

package cn.zhao.Demo;

public class Student {
    private int sno;
    private String sname;
    private String ssex;
    private int sage;
    private String sdept;

    public int getSno() {
        return sno;
    }

    public void setSno(int sno) {
        this.sno = sno;
    }

    public String getSname() {
        return sname;
    }

    public String getSsex() {
        return ssex;
    }

    public void setSsex(String ssex) {
        this.ssex = ssex;
    }

    public int getSage() {
        return sage;
    }

    public void setSage(int sage) {
        this.sage = sage;
    }

    public String getSdept() {
        return sdept;
    }

    public void setSdept(String sdept) {
        this.sdept = sdept;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    @Override
    public String toString() {
        return "Student{" +
                "sno=" + sno +
                ", sname='" + sname + '\'' +
                ", ssex='" + ssex + '\'' +
                ", sage=" + sage +
                ", sdept='" + sdept + '\'' +
                '}';
    }
}

以上是我建了一个学生类,根据学生类里面的属性一会对应数据库里面的列实现增删查改操作。

package cn.zhao.Demo;

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class Demo1 {
    public static void main(String[] args) {
        Demo1 demo1=new Demo1();
        //demo1.insert();
         List<Student> list= demo1.select();
         System.out.println(list);
    }


    public void insert(){
        Connection conn=null;
        Statement stml=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection
                    ("jdbc:mysql:///java13","root","root");
            stml=conn.createStatement();
            String sql="insert into student values(125,'赵代猛','男',20,'物理系')";
            int count=stml.executeUpdate(sql);
            System.out.println(count);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            if(stml!=null){
                try {
                    stml.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    public List<Student> select(){
        List<Student> list=new ArrayList<>();
        Connection conn=null;
        Statement stml=null;
        ResultSet rs=null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn=DriverManager.getConnection
                    ("jdbc:mysql:///java13","root","root");
            String sql="select * from student";
            stml=conn.createStatement();
            rs=stml.executeQuery(sql);
            Student student=null;
            while (rs.next()){
                int sno=rs.getInt("sno");
                String sname=rs.getString("sname");
                String ssex=rs.getString("ssex");
                int sage=rs.getInt("sage");
                String sdept=rs.getString("sdept");
                //创建学生对象,并赋值
                student=new Student();
                student.setSage(sage);
                student.setSdept(sdept);
                student.setSname(sname);
                student.setSno(sno);
                student.setSsex(ssex);
                //装载集合
                list.add(student);
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }catch (SQLException e){
            e.printStackTrace();
        }finally {
            if(rs!=null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(stml!=null){
                try {
                    stml.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        return list;
    }



}

这就是增加和查找操作,以下是查找的结果

**[Student{sno=124, sname='郭导', ssex='男', sage=22, sdept='土木工程'}, Student{sno=125, sname='赵代猛', ssex='男', sage=20, sdept='物理系'}, Student{sno=126, sname='李鑫庆', ssex='男', sage=22, sdept='计算机学院'}]
**

其他的操作和这个大同小异,肯定有更好的办法完成这些操作,工具类,文件的形式存储重复的代码会更加的省事,这里就不一一阐述了,下次再说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值