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)删除“工件”配置,重新配置,即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部