JDBC项目(关键部分)

场景

最近遇到一些非常老旧的项目,需要jdbc去连接数据库。这个时候就需要如下准备:
1.mysql-connector-java 包
(这个包的版本要与你用的数据库版本保持一致,不然会出现不必要的报错)
2.工具类(配合连接jar包,沟通数据库)
3. 可能会出现切换 mysql-connector-java 版本包,导致的问题,本地可以连接数据库,jar包不行

下载的mysql-connector-java 包 官方地址为
官网地址:https://dev.mysql.com/downloads/connector/j/
具体下载步骤方式可以参考另外一位博客
https://blog.csdn.net/ebb29bbe/article/details/126861047?spm=1001.2014.3001.5506

工具类
在这里插入图片描述
DBConn(连接工具类)
学习链接:
(JDBC连接mysql的url的写法和常见属性)
https://blog.csdn.net/hahaha__123hi/article/details/114669933

package com.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConn {

//    //本地环境
//    private static final String url = "jdbc:mysql://localhost:3306/tsk";		//数据库地址
//    private static final String username = "";		//数据库用户名
//    private static final String password = "";		//数据库密码、
//    private static final String driver = "com.mysql.jdbc.Driver";		//mysql驱动
//    private static final Connection conn = null;

    //正式环境-(版本为5.1.30-community,所以mysql-connector的版本为5.1.30)
    private static final String url = "jdbc:mysql://xx.xxx.xxx.xx:3306/tsk?autoReconnect=true&failOverReadOnly=false&maxReconnects=10";		//数据库地址
    private static final String username = "";		//数据库用户名
    private static final String password = "";		//数据库密码
    private static final String driver = "com.mysql.jdbc.Driver";		//mysql驱动
    private static final Connection conn = null;

    /**
     * 连接数据库
     * @return
     */
    public static Connection conn() {
        Connection conn = null;
        try {
            Class.forName(driver);  //加载数据库驱动
            try {
                conn = DriverManager.getConnection(url, username, password);  //连接数据库
            } catch (SQLException e) {
                e.printStackTrace();
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 关闭数据库链接
     * @return
     */
    public static void close() {
        if(conn != null) {
            try {
                conn.close();  //关闭数据库链接
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

DBUtil(关于数据库表增删改查)

package com.jdbc;
import com.entity.ljpjts;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

public class DBUtil {

    private static Connection conn = null;
    private static PreparedStatement ps = null;
    private static ResultSet rs = null;
    private static final CallableStatement cs = null;

   //外部其他类调用该方法开启数据库连接
    public static int kqjdbc() {
        conn = DBConn.conn();
        if(conn!=null){
            return 1;
        }
        return 0;
    }
    
    //外部其他类调用该方法关闭数据库连接
    public static void gbjdbc() {
        DBConn.close();
    }

    /**
     * Insert 新增方法封装
     * sqltype 
     * @param stu 传入参数
     */
    public static void Insert(ljpjts stu,String sqltype) {
        String sql ="";
        if("1".equals(sqltype)){
             sql = "INSERT INTO ljpjts (sjly, qudao, ywxt, sblsh,bjbh, qhbm, qhmc, bmbm, bmmc, sxbm, sxmc, yhid, sqrxm, lxrxm, sqsj, bjsj, clrxm, bjjd, cjsj, sjtgbm, createtime) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";		//插入sql语句
        }
        if("2".equals(sqltype)){
             sql = "INSERT INTO yjpjts (sjly, qudao, ywxt, sblsh,bjbh, qhbm, qhmc, bmbm, bmmc, sxbm, sxmc, yhid, sqrxm, lxrxm, sqsj, bjsj, clrxm, bjjd, cjsj, sjtgbm, createtime) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";		//插入sql语句
        }
        try {
            ps = conn.prepareStatement(sql);
            /**
             * 调用实体StuInfo类,获取需要插入的各个字段的值
             * 注意参数占位的位置
             * 通过set方法设置参数的位置
             * 通过get方法取参数的值
             */
//          ps.setString(1,  stu.getId());
            ps.setString(1,  stu.getSjly());
            ps.setString(2,  stu.getQudao());
            ps.setString(3,  stu.getYwxt());
            ps.setString(4,  stu.getSblsh());
            ps.setString(5,  stu.getBjbh());
            ps.setString(6,  stu.getQhbm());
            ps.setString(7,  stu.getQhmc());
            ps.setString(8,  stu.getBmbm());
            ps.setString(9, stu.getBmmc());
            ps.setString(10, stu.getSxbm());
            ps.setString(11, stu.getSxmc());
            ps.setString(12, stu.getYhid());
            ps.setString(13, stu.getSqrxm());
            ps.setString(14, stu.getLxrxm());
            ps.setString(15, stu.getSqsj());
            ps.setString(16, stu.getBjsj());
            ps.setString(17, stu.getClrxm());
            ps.setString(18, stu.getBjjd());
            ps.setString(19, stu.getCjsj());
            ps.setString(20, stu.getSjtgbm());
            ps.setString(21, stu.getCreatetime());

            //excecute是执行增删改的,executeQuery是执行查询的
            ps.executeUpdate();			

            System.out.println("插入成功(* ̄︶ ̄)");
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //DBConn.close();
        }
    }

    /**
     * sqltype 
     * Select 查询方法封装
     * @param
     */
    public static int Select(String sblsh,String bjbh,String bjjd,String sqltype) {
        int row =0;
        String sql ="";
        if("1".equals(sqltype)){
             sql = "select count(*) from ljpjts where bjbh='" + bjbh + "' and bjjd='" + bjjd + "'" + "and sblsh='"+sblsh+"'";
        }
        if("2".equals(sqltype)) {
             sql = "select count(*) from yjpjts where bjbh='" + bjbh + "' and bjjd='" + bjjd + "'" + "and sblsh='"+sblsh+"'";
        }
        try {
            ps = conn.prepareStatement(sql);
            //excecute是执行增删改的,executeQuery是执行查询的
            ResultSet rs = ps.executeQuery();
            rs.next();
            row = rs.getInt(1);
            System.out.println("行数:"+row);
            System.out.println("查询成功(* ̄︶ ̄)");
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //DBConn.close();
        }
        return row;
    }
}

当出现本地可以连接数据库,jar包运行却连接不了数据库(更神奇的是jar包解压里面明明看得见相关连接包),这个时候就是构建工件出现了问题

(1)删除打包得到的文件(class包)
(2)删除“工件”配置,重新配置,即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值