使用JDBC连接MySQL数据库的工具类

首先,创建工具类肯定是对我们增删改查有所帮助的

比如:加载jdbc驱动,建立连接,关闭资源这些在我们增删改查的时候都需要重复写一样的代码,这样会使我们的代码看起来很冗余。

我们可以创建一个工具类把他们都放在一个类里面,每次需要的时候调用一下就可以了,没必要每次都重复的写代码,直接调用方便,简单……

代码如下:

//数据库连接与关闭工具类
public class DBUtil {
    //连接URL字符串 有两种方式:
    //private static String URL="jdbc:mysql://127.0.0.1:3306/epet";
    private static String URL="jdbc:mysql:///epet";
    //数据库用户名
    private static String USER="root";
    //用户密码
    private static String PASSWORD="";

    //获取数据库连接对象
    public static Connection open(){
        //数据库连接对象
        Connection conn=null;
        //获取连接并捕获异常
        try{
            //数据库驱动字符串
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection(URL,USER,PASSWORD);
            //判断是否成功连接 可用可不用
            if (null!=conn){
                System.out.println("成功!");
            }else{
                System.out.println("失败!");
            }
        }catch (Exception e){
            e.printStackTrace();   //处理异常
        }
        return conn;   //返回连接对象
    }

    //关闭数据库连接
    public static void close(ResultSet rs, PreparedStatement pre,Connection conn) {
        //若数据库连接对象不为空,否则关闭
        if (rs != null) {
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        //若PrepareStatement对象不为空,否则关闭
        if (pre != null) {
            try {
                pre.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        //若结果集对象不为空,否则关闭
        if (conn != null) {
            try {
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

写好之后,我们在写增删改查的时候就可以直接调用了

前提:我们需要一张表,并且对这张表进行增删改查。

例如:我的表是一张用户信息表

//创建用户信息表
CREATE TABLE user_info(
	id int not null auto_increment comment "编号",
	user_name varchar(20) not null comment "用户名",
	age int not null comment "年龄",
	sex int(1) not null comment "性别",
	primary key(id)
)comment="用户信息表",
CHARSET=utf8;

创建之后:

这张表是我进行了增删改查之后的数据

 

(1)表里面要是没有数据,我们可以向表添加数据

public void insert() throws Exception{
        Connection conn = DBUtil.open();
        String sql="insert into user_info(user_name,age,sex) values(?,?,?)";
        PreparedStatement pre = conn.prepareStatement(sql);
        pre.setString(1,"join");
        pre.setInt(2,17);
        pre.setInt(3,1);
        pre.executeUpdate();
        System.out.println("插入成功!");

        DBUtil.close(null,pre,conn);
    }

可以在表中多添加几条数据……

添加完后,我们就可以查询表中是否有添加过后的数据

(2)这时,就需要查询

public void select() throws Exception{
        Connection conn = DBUtil.open();
        String sql="select * from user_info";
        Statement stat = conn.createStatement();
        ResultSet rs = stat.executeQuery(sql);
        System.out.println("\t用户信息表");
        System.out.println("编号\t用户名\t年龄\t\t性别");
        while (rs.next()){
            System.out.print(rs.getInt("id")+"\t");
            System.out.print(rs.getString("user_name")+"\t");
            System.out.print(rs.getInt("age")+"\t\t");
            System.out.println(rs.getInt("sex")); 
        }
       //关闭资源,从近的开始关闭
        rs.close();
        stat.close();
        conn.close();
}

(3)接下来就是:修改

public void update() throws Exception{
        Connection conn = DBUtil.open();
        String sql="update user_info set user_name=?,age=?,sex=? where id=?";
        PreparedStatement pre = conn.prepareStatement(sql);
        pre.setString(1,"peter");
        pre.setInt(2,12);
        pre.setInt(3,0);
        pre.setInt(4,4);
        pre.executeUpdate();
        System.out.println("更新成功!");

        DBUtil.close(null,pre,conn);
    }

(4)到了最简单的删除部分

public void delete() throws Exception{
        Connection conn = DBUtil.open();
        String sql="delete from user_info where id=?";
        PreparedStatement pre = conn.prepareStatement(sql);
        pre.setInt(1,2);
        pre.executeUpdate();
        System.out.println("删除成功!");

        DBUtil.close(null,pre,conn);
    }

发现:1.我的增删改查都是单独一个方法,并没有放在一起

           2.连接已经关闭都是调用工具类里面的方法

           3.我的增删改查很简单,大家也可以判断一下是否成功,我这直接省略了……

最后,我们还有一个main方法没有写

public static void main(String[]args) throws Exception{
        new Demo().select();
    }

不好之处:main方法中每写一个方法都要去调用哪个需要运行的方法,不能直接运行

方便之处:我们每写完一个方法之后需要运行,运行成功后,可以直接调用select()查询的方法,不需要去mysql数据库里面刷新。

 

我编写的增删改查很简单,希望能帮助到大家,我们一起加油!!!

不足的地方多多指点!

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值