利用JDBC在java上实现对SQL数据库的添加删除修改,连接信息文件,批处理等操作

利用JDBC在java上实现对SQL数据库的删除修改添加,连接信息文件,批处理等操作

关于sql数据库的设置和查找方法的实现可参考我的另一篇博客:利用JDBC在java中实现数据库连接查询等操作

数据库表信息
在这里插入图片描述

.在接口中定义增加,删除,修改,批处理的类接口

import cn.zc.entity.UserInfo;
import java.util.List;
public interface UserInfoDao {
//    修改某个部门信息
    public int updataUser(UserInfo ui);
//    增加信息
    public int addUser(UserInfo ui);
//    删除信息
    public int deleteUser(int depno);
//    批处理增加方法
    public int[] addUser(List<UserInfo> list);
}

.定义类实现接口

import cn.zc.Dao.UserInfoDao;
import cn.zc.entity.UserInfo;
import cn.zc.util.DBHelper;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class UserInfoDaoImpl implements UserInfoDao {
//        修改信息
    public int updataUser(UserInfo ui) {
        int result =0;
//        获取数据库连接对象
        Connection conn = DBHelper.getConn();
//         sql语句
        String sql = "update dept set dname=?,loc=? WHERE depno=?";
        try {
//                预编译sql语句
            PreparedStatement ps = conn.prepareStatement(sql);
//                赋值
            ps.setInt(3,ui.getDepno());
            ps.setString(1, ui.getDname());
            ps.setString(2, ui.getLoc());
            result= ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }
//添加信息
    @Override
    public int addUser(UserInfo ui) {
        int result = 0;
//        获取数据库连接对象
        Connection conn = DBHelper.getConn();
//         sql语句
        String sql = "insert into dept values(?,?,?)";
        try {
//                预编译sql语句
            PreparedStatement ps = conn.prepareStatement(sql);
//                赋值
            ps.setInt(1,ui.getDepno());
            ps.setString(2, ui.getDname());
            ps.setString(3, ui.getLoc());
            result= ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }
//删除信息
    @Override
    public int deleteUser(int depno) {
        int result = 0;
        //        获取数据库连接对象
        Connection conn = DBHelper.getConn();
//         sql语句
        String sql = "delete FROM dept where depno=?";
        try {
//                预编译sql语句
            PreparedStatement ps = conn.prepareStatement(sql);
//                赋值
            ps.setInt(1,depno);
            result= ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }
//   批处理
    @Override
    public int[] addUser(List<UserInfo> list) {
        int [] result =null;
        Connection conn = DBHelper.getConn();
        try {
            conn.setAutoCommit(false);
            String sql ="insert into dept values(?,?,?)";
            PreparedStatement ps = conn.prepareStatement(sql);
            Iterator<UserInfo> it = list.iterator();
            while(it.hasNext()){
                UserInfo ui = it.next();
                ps.setInt(1,ui.getDepno());
                ps.setString(2,ui.getDname());
                ps.setString(3,ui.getLoc());
                ps.addBatch();
            }
            result = ps.executeBatch();
            conn.commit();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return result;
    }

}

.数据库连接和数据信息类在文章开头连接的另一篇博客中已经说明过,这里就不再赘述了.

.实现代码及输出结果展示
添加:

import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;
import cn.zc.entity.UserInfo;

public class AddTest {
    public static void main(String[] args) {
        //      增加部门信息
        UserInfoDao depno = new UserInfoDaoImpl();
        int result =0;
        result = depno.addUser(new UserInfo(40,"宣传","房间10"));
        if (result>0){
            System.out.println("增加成功");
        }else{
            System.out.println("增加失败");
        }
    }
}

输出:
在这里插入图片描述
查看数据库:
注意:查看时记得在数据库中点击刷新.
在这里插入图片描述
删除:

import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;

public class DeleteTest {
    public static void main(String[] args) {
        //      删除部门信息
        UserInfoDao depno = new UserInfoDaoImpl();
        int result = depno.deleteUser(40);
        if (result>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
    }
}

输出:
在这里插入图片描述
查看数据库:
在这里插入图片描述
修改:

import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;
import cn.zc.entity.UserInfo;

public class UpdateTest {
    public static void main(String[] args) {
        //      修改部门信息
        UserInfoDao depno = new UserInfoDaoImpl();
        int ui1 = depno.updataUser(new UserInfo(10,"管理","房间10"));
        if (ui1!=0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }
    }
}

输出:
在这里插入图片描述
查看数据库:
在这里插入图片描述
批处理添加:

import cn.zc.Dao.UserInfoDao;
import cn.zc.Impl.UserInfoDaoImpl;
import cn.zc.entity.UserInfo;

import java.util.ArrayList;
import java.util.List;

public class AddBatchTest {
    public static void main(String[] args) {
        List<UserInfo> list = new ArrayList<UserInfo>();
        UserInfoDao depno = new UserInfoDaoImpl();
        list.add(new UserInfo(11,"管理","房间11"));
        list.add(new UserInfo(12,"宣传","房间12"));
        list.add(new UserInfo(13,"管理","房间13"));
        int [] result = depno.addUser(list);
        if (result.length>0){
            System.out.println("批处理成功");
        }else{
            System.out.println("批处理失败");
        }
    }
}

输出:
在这里插入图片描述
查看数据库:
在这里插入图片描述
.连接信息文件
我们需要在src同级目录处新建一个File文件jdbc.properties,如图所示
在这里插入图片描述
在文件中写入:

driver=com.mysql.cj.jdbc.Driver
#                          数据库名test1--可根据实际境况修改
url=JDBC:mysql://localhost:3306/test1?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
#账号
name=root
#密码
psw=123456

在实现数据库连接的main函数里加入:

//若不为空则代表连接成功
    public static void main(String[] args) {
//        System.out.println(DBHelper.getConn());
        Properties pp = new Properties();
        try {
            pp.load(new FileInputStream("jdbc.properties"));
            String driver = pp.getProperty("driver");
            String url = pp.getProperty("url");
            String name = pp.getProperty("name");
            String psw = pp.getProperty("psw");
            try {
                Class.forName(driver);
                try {
                    System.out.println(DriverManager.getConnection(url,name,psw));
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

:实现数据库连接的完整代码在开头连接的另一篇博客中.
输出结果:
在这里插入图片描述
实现连接信息文件!!!

作者说:文章仅供参考,不足之处请见谅,如果觉得有帮助记得一键三连哦!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值