精华内容
下载资源
问答
  • java mysql
    千次阅读
    2021-12-31 16:40:37

    Java-MySQL连接配置

    • jdbc.properties
      jdbc.driverClassName=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/jdbc_test?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
      jdbc.username=root
      jdbc.password=root
      
    更多相关内容
  • java mysql数据库实现批量插入

    千次阅读 2019-04-28 10:45:16
    Connection connect = new Mysql().getConnection(); try { connect.setAutoCommit(false); // 设置手动提交 StringBuffer fieldString = new StringBuffer(); StringBuffer paraNo = new ...
    /**
    	 * 批量插入
    	 * 
    	 * @param tableName
    	 * @param datas
    	 * @return
    	 */
    	public boolean insertBatch(String tableName, List<Map<String, Object>> datas) {
    		PreparedStatement prepared = null;
    		Connection connect = new Mysql().getConnection();
    		try {
    			connect.setAutoCommit(false); // 设置手动提交
    			StringBuffer fieldString = new StringBuffer();
    			StringBuffer paraNo = new StringBuffer(); // 预处理字段“?”
    			List<Object> values = new ArrayList<Object>();
    			boolean flag = true;
    			for (int i = 0; i < datas.size(); i++) {
    				for (Object element : datas.get(i).keySet()) {
    					if (flag) {
    						fieldString.append("," + element);
    						paraNo.append(",?");
    					}
    					values.add(datas.get(i).get(element));
    				}
    				flag = false;
    
    				if (prepared == null) {
    					// 所有参数组成的数组
    					String queryString = "INSERT INTO " + tableName + " (" + fieldString.toString().substring(1)
    							+ ") VALUES (" + paraNo.substring(1) + ")";
    					prepared = connect.prepareStatement(queryString);
    				}
    				// 设置对应参数值
    				for (int j = 0; j < datas.get(i).size(); j++) {
    					prepared.setObject(j + 1, values.get(j));
    				}
    				prepared.addBatch();
    				if (i % 10000 == 0) {
    					prepared.executeBatch();
    					connect.commit();
    				}
    				values.clear();
    			}
    			prepared.executeBatch();
    			connect.commit();
    			return true;
    		} catch (Exception e) {
    			e.printStackTrace();
    			throw new RuntimeException(e.getMessage());
    		} finally {
    			try {
    				if (connect != null) {
    					connect.close();
    				}
    				if (prepared != null) {
    					prepared.close();
    				}
    			} catch (SQLException e) {
    				e.printStackTrace();
    			}
    		}
    	}
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.*;
    import java.util.Properties;
    
    
    /**
     * 单数据库模式 单数据库模式 需要扩展多数据库或使用主从数据库 在此处进行扩展指定连接数据库 同时修改数据库配置
     * 
     */
    public class Mysql {
    	// 连接数据库的参数
    	private static String url = null;
    	private static String username = null;
    	private static String driver = null;
    	private static String passwd = null;
    
    	private static Properties propertie = null;
    	private static InputStream configStream = null;
    	/**
    	 * 加载驱动,只需要一次,用静态代码块 单数据库模式,需要扩展多数据库或使用主从数据库在此处进行扩展
    	 */
    	static {
    		try {
    			propertie = new Properties();
    			configStream = Mysql.class.getClassLoader().getResourceAsStream("mysql.properties");
    			propertie.load(configStream);
    
    			url = propertie.getProperty("url");
    			driver = propertie.getProperty("driver");
    			username = propertie.getProperty("username");
    			passwd = propertie.getProperty("password");
    
    			Class.forName(driver);
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				configStream.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    			configStream = null;
    		}
    
    	}
    
    	/**
    	 * 获取数据库链接
    	 * 
    	 * @return
    	 */
    	public Connection getConnection() {
    		Connection con = null;
    		try {
    			con = DriverManager.getConnection(url, username, passwd);
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    
    		return con;
    	}
    }
    
    //调用方法
    
    List<Map<String, Object>> datas = new ArrayList<>();
    Map<String,Object> user = new HashMap<>();
    user.put(字段,对应值);
    datas.add(user);
    insertBatch(表名, datas);
    
    展开全文
  • java+MySQL用户管理系统

    热门讨论 2013-04-25 16:32:35
    此代码主要是用JDBC和MySQL数据库完成一个简单的用户管理系统,系统的设计模式采用工场模 式和代 理模式,此代码很适合初学Java者。 运行方法: 1.运行需要启动MySQL数据库 2.创建数据库名为zhaochao和表名为...
  • mysql-connector-java-5.1.27.jar mysql-connector-java-5.1.27.jar
  • java mysql jar包

    热门讨论 2010-01-12 14:26:56
    java开发中无法连接MYSQL,因为缺少mysql驱动,mysql-connector-java-5.1.10.rar用户mysql 5.0以上连接,配合java开发
  • java mysql插入信息发生唯一索引重复异常解决方法 一、介绍 在项目中需要添加一个学生信息,在后台生成学号然后插入到数据库发现该学号已经存在,抛出异常,。 二、解决方法 public String createStudentid() {...

             java mysql插入信息发生唯一索引重复异常解决方法

    一、介绍

    在项目中需要添加一个学生信息,在后台生成学号然后插入到数据库发现该学号已经存在,抛出异常,。

    二、解决方法

    public String createStudentid() {
            // 生成学号工具类
    		String studentid = StudentIdGenerator.generateStudenId();
    		try {
    			usermapper.insertStudentid(studentid);
    		}catch(Exception e) {
                // 异常处理
    			if(e.getCause() instanceof MySQLIntegrityConstraintViolationException)
    			log.warn("学号{}已存在,重新生成",studentid);
    			createStudentid();
    		}
    		return studentid;
    	}

     

    展开全文
  • java操作mysql数据库

    千次阅读 2021-11-30 14:49:05
    java操作mysql数据库 学习到数据库操作这一章,遇到了很多问题,只能说无论什么时候,用什么工具来操作数据库,都不是一件简单的事情。 简单记录一下 数据库连接 先看代码界面 要连接数据库,首先需要导入mysql依赖...

    java操作mysql数据库

    学习到数据库操作这一章,遇到了很多问题,只能说无论什么时候,用什么工具来操作数据库,都不是一件简单的事情。

    简单记录一下

    数据库连接

    先看代码界面

    在这里插入图片描述

    要连接数据库,首先需要导入mysql依赖包,在左侧项目文件内我新建了一个lib文件夹,然后在里面放了一个mysql的依赖包,这个依赖包的版本很重要,如果安装的mysql版本过高,而这个依赖包版本过低,就会各种报错。这里我折腾了好几次,找了一个与mysql版本一致的依赖包,加载依赖包的方式可以参考这篇博客,写的很好,我一次就成功了。

    我先放一下代码

    package Number;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class Conn {
        public static void main(String[] args) {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT";
                String username = "root";
                String password = "我是马赛克";
                Connection c = DriverManager.getConnection(url, username, password);
                System.out.println(c);
                c.close();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
    
    

    来解释代码

    • ```Class.forName(“com.mysql.cj.jdbc.Driver”);这一行代码是用来加载驱动程序的,书本上使用的是下面这句代码Class.forName(“com.mysql.jdbc.Driver”);`没有cj,我运行了一下,虽然没有报错,但提示不赞成这么写,百度了一下,说是因为高版本的mysql依赖包不赞成这种写法,所以换成了程序中的写法;

    • String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT";这是另外一个坑点,重点解释一下:

      1. 127.0.0.1:3306这是主机名和mysql默认的端口号,一般访问本机的mysql就这么写没毛病;

      2. test是数据库名;

      3. ?serverTimezone=GMT这个接口参数很重要,看参数名字说的是服务器的时区,必须得加上,不加上也是一直报错

        UTC代表的是全球标准时间,是以原子时计时,更加精准,适应现代社会的精确计时。GMT格林威治标准时间,是指位于伦敦郊区的皇家格林尼治天文台的标准时间。但是我们使用的时间是北京时区也就是东八区,领先UTC和GMT八个小时。

    暂时就这么多,待补充后续。

    数据库查询

    连接上了,查询就相对简单多了,直接记录代码:

    package Number;
    
    import java.sql.*;
    
    public class Conn {
        public static void main(String[] args) {
            Statement st;
            ResultSet rs;
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT";
                String username = "root";
                String password = "我是马赛克";
                Connection c = DriverManager.getConnection(url, username, password);
                st = c.createStatement();
                rs = st.executeQuery("select * from stu_stu");
    //            System.out.println(c);
                while(rs.next()){
                    System.out.println(rs.getInt("id")
                    + rs.getString(2) + rs.getString("sex"));
                }
                c.close();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
    
    

    查询的逻辑是:

    1. 创建一个连接数据库的对象c
    2. 对象c实现createStatement()方法获得Statement对象st
    3. Statement对象执行查询语句,结果保存在ResultSet结果集中
    4. 用next()方法可以遍历结果集

    增改删操作

    与查询很类似,只不过用的都是executeUpdate()方法,返回的是一个int值,告诉你有几行数据被修改,上面的查询返回的是一个ResultSet结果集,看代码

    package Number;
    
    import java.sql.*;
    
    public class Conn {
        public static void main(String[] args) {
            Statement st;
            ResultSet rs;
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
                String url = "jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT";
                String username = "root";
                String password = "我是马赛克";
                Connection c = DriverManager.getConnection(url, username, password);
                st = c.createStatement();
    //            rs = st.executeQuery("select * from stu_stu");
    //            System.out.println(c);
    //            while(rs.next()){
    //                System.out.println(rs.getInt("id")
    //                + rs.getString(2) + rs.getString("sex"));
    //            }
                // 插入数据
    //            String insert = "insert into stu_stu(name, sex) values('tom','男'), ('mary', '女')" ;
    //            int result1 = st.executeUpdate(insert);
    //            System.out.println(result1 + "行数据被插入");
                // 修改数据
    //            String modify = "update stu_stu set id = 4 where name = 'tom'";
    //            int result2 = st.executeUpdate(modify);
    //            System.out.println(result2 + "行数据被修改");
                // 删除数据
                String remove = "delete from stu_stu where name = 'mary'";
                int result3 = st.executeUpdate(remove);
                System.out.println(result3 + "行数据被删除");
    //            System.out.println(insert);
                c.close();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
    
    

    修改数据后的结果:
    在这里插入图片描述
    删除数据后的结果:

    在这里插入图片描述

    展开全文
  • web版本的mysql管理工具,类似于phpMyAdmin,本资源来自互联网。
  • Java连接MySQL数据库三种方法

    千次阅读 2021-01-19 12:51:24
    开发工具:MyeclipseMySQL5.6MySQL连接驱动:mysql-connector-java-5.1.27.jar加载驱动:1. 在工程目录中创建lib文件夹,将下载好的JDBC放到该文件夹下,如下图所示:2. 右键工程名,在java build path中的Libraries...
  • Java连接MySQL数据库的五种方式

    千次阅读 2022-04-05 16:03:38
    Java连接MySQL的方法
  • Java连接 MySQL详细教程

    千次阅读 多人点赞 2021-03-21 17:56:44
    MySQL连接驱动:mysql-connector-java-8.0.23.jar 连接MySQL需要下载驱动 MySQL连接驱动下载 选择Platform Independent 点击Download 点击No thanks, just start my download. 自动开始下载 解压ZIP,复制出...
  • Java连接MySQL数据库的超级详细步骤(Windows)

    万次阅读 多人点赞 2020-05-19 17:15:45
    Java 连接 MySQL 需要驱动包,下载地址为:http://dev.mysql.com/downloads/connector/j/。 解压后得到 jar 库文件,待用,最终会将红框文件导入相应项目文件中。 3. 下载MySQL 下载地址:https:/
  • mysql 驱动包 mysql-connect-java

    千次阅读 2021-11-20 01:53:22
    mysql的驱动包 mysql-connect-java 内部封装了jdbc: jdbc(java database connectivity):本身是由一组接口组成 , 可以使得Java编译来访问各种数据库 无需自己实现接口,这些接口的实现类由第三方数据库厂商实现 ...
  • 这里我最近重新安装Mysql发现的问题,在这里跟大家分享一下: ...Could not create connection to database server - java mysql connector 我在网上查了很多资料,一直反省是我配置出现问题了吗?我...
  • Java MySQL无限级树(递归)超实用

    千次阅读 2015-07-28 17:02:28
    Java无限级树(递归)超实用
  • mysql数据库java驱动下载(jdbc)

    千次阅读 2022-04-18 14:32:29
    MySQL Connector/J有两个版本: Connector/J 5.1是一个4类纯Java JDBC驱动程序,它符合JDBC 3.0、4.0、4.1和4.2规范。它提供了与MySQL所有功能的兼容性,包括5.6、5.7和8.0。连接器/J 5.1提供了易于开发的特性,...
  • Java入门-获取MySQL数据

    万次阅读 2022-01-27 16:59:36
    Java入门-获取MySQL数据 java代码 /** * @Author 编程无忧 * @Date 2022/1/13 13:17 * @Desc */ public class mysqlTest { @Test public void getMysqlCon(){ // 声明Connection对象 Connection con; // ...
  • JavaMySQL连接

    千次阅读 2022-03-08 18:09:13
    环境:java8+MySQL8.0.28 工具· 1,首先创建一个Msql_demo类 2,定义数据库驱动与URL以及数据库用户名(默认root)、密码 注意:这里使用的是mysql8.0以上版本所以与老版本的驱动是有区别的 3,准备...
  • mysql-connector-javaMysql对应版本: Summary of Connector/J Versions Connector/J version Driver Type JDBC version MySQL Server version Status 5.1 4 3.0, 4.0, 4.1, 4.2 5.6*, 5.7*, 8.0* General ...
  • 前言:本篇文章适用于所有前后端开发者众所周知,只要是编程,那肯定是需要存储数据的,无论是c语言还是java,都离不开数据的读写,数据之间传输不止,这也就形成了现代互联网的一种相互存在关系!而读写存储的方式...
  • Java封装的操作MySql数据库框架

    热门讨论 2014-05-25 15:56:53
    利用java封装的操作MySql数据库的框架类JdbcUtils.java,包括增删改查四种操作,参见博文:http://blog.csdn.net/yanzi1225627/article/details/26950615
  • javamysql数据库批量插入大量数据

    千次阅读 2022-03-31 13:59:15
    操作环境:MysqlJava代码都运行在我本地Windows电脑(i7处理器,4核,16G运行内存,64位操作系统 1、JPA单线程执行 代码省略,大概需要39S左右 2、JPA多线程执行 大概需要37S左右,并没有想象中的快很多 ...
  • JAVA的JDBC连接MYSQL数据库并查询数据

    千次阅读 2021-10-11 20:40:23
    目录一、使用工具1)MYSQL数据库2)Navicat可视化软件3)IDEA编译java工具二、MYSQL里创建一个数据库1)Navicat连接数据库四、参考链接 一、使用工具 我已经安装过了这些工具了,就不再次展示安装过程了,详细的安装...
  • JavaMySQL 数据类型对照表

    万次阅读 2021-09-14 11:09:21
    java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N ...
  • 本篇案例超详解如何由MySQL8.0切换成MySQL5.0,欢迎阅读学习,打卡!
  • 关于json类型在java-mysql之间的存取

    千次阅读 2021-09-09 09:26:35
    1.高版本mysql支持json类型存储,存储类型直接选择json即可 2.在java中以json数组为例,可以在实体类中设置字段属性如下: 3.与数据库之间的存取我使用的是mybatis-plus,设置到这一步,进行正常的插入操作就可以...
  • 适用连接8.0及以上的Mysql 首先将驱动包放到新建的lib下 接下来就是导入驱动包: 找到jar包所在的位置,导入!!! 导入成功后退出,然后新建一个类:输入以下代码: import java.sql.Connection; ...
  • IDEA连接Mysql数据库(JAVA 小虚竹)

    万次阅读 多人点赞 2021-12-30 20:53:18
    IDEA连接Mysql数据库(JAVA 小虚竹)
  • Java连接mysql数据库方法及代码(jdbc)

    千次阅读 多人点赞 2021-06-21 21:24:25
    一、使用MySQL jdbc连接器mysql-connector-java.jar。 1.首先从mysql官网下载mysql-connector-java.jar包到本地。 下载相应的压缩包,在本地解压即可进行下一步操作。 2.打开自己的java文件,在源文件夹下创建lib包...
  • 零基础开发 javaWeb 一、实验目的及要求 使用java语言从MySQL数据库中查询其中一个表的数据。 二、实验环境 Windows 10环境 java version: 11.0.10 IDE工具:IntelliJ IDEA 2020.3 MySQL: 5.7.26

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,337,322
精华内容 534,928
关键字:

java mysql

mysql 订阅