Java jar工程-JDBC的方式连接mysql -- 菜鸟入门级引导

安装包获取

Java JDK

  • 从 www.oracle.com 上获取,进入网页-》Products-》Java-》Download Java
  • 在该页面有很多版本,本次以下载jdk8为例,也就是 “Java SE 8u261”部分,选择JDK Download
  • 如果没有账号,免费注册一个即可
  • 或者从我保存的地址下载windows版本,链接:https://pan.baidu.com/s/1oalJDk4ke0SHOyZD92ZeMQ 提取码:cgfz
  • 环境变量,必须配置:按照第三方网站windows上上的配置即可 https://www.runoob.com/java/java-environment-setup.html

Maven

  • 该工具是基于java开发的,所以必须先安装Java JDK
  • 从http://maven.apache.org/download.cgi 选择下载
  • 或者从我保存的地址下载windows版本,链接:https://pan.baidu.com/s/1K8kIzGft1h4W7lugUYrYcg 提取码:xe1h
  • 环境变量,必须配置:按照第三方网站windows上上的配置即可 https://www.runoob.com/maven/maven-setup.html

IDE

  • 建议使用IDEA
  • 我的windows版本工具下载,链接:https://pan.baidu.com/s/1INQ1NkdAF3CNoLzezNgWJw 提取码:n2te
  • idea配置maven,请参考:https://www.cnblogs.com/telwanggs/p/10820701.html ,其实也可以使用idea自带的maven

开始构建

Maven构建java的jar包工程

  • 命令
mvn archetype:generate "-DgroupId=com.mycompany.testsql" "-DartifactId=uqmytest" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DinteractiveMode=false"

修改pom.xml,添加依赖

  • 添加内容如下
  <properties>
    <!-- mysql版本,该部分可选,可以直接将版本号替换到下面的${mysql.version}位置 -->
    <mysql.version>5.1.35</mysql.version>
  </properties>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
  • pom.xml 所有内容如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.testsql</groupId>
  <artifactId>uqmytest</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>uqmytest</name>
  <url>http://maven.apache.org</url>
  <properties>
    <!-- mysql版本 -->
    <mysql.version>5.1.35</mysql.version>
  </properties>

  <dependencies>
    <!-- mysql驱动包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

开始编码

  • App.java 中的内容
package com.mycompany.testsql;

import java.sql.*;
/**
 * Hello world!
 *
 */
public class App 
{
    // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String DB_URL = "jdbc:mysql://10.0.1.210:3306/centralized_management?useUnicode=true&characterEncoding=UTF-8";
    // 数据库的用户名与密码,需要根据自己的设置
    static final String USER = "root";
    static final String PASS = "123456";

    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
        Connection conn = null;
        Statement stmt = null;
        try{
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);
            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            String insertSql = "INSERT INTO centralized_management.person" +
                "(pid, name, id_type, identity,ic_card, sex,version,update_time)" +
                "VALUES(?, ?, ?, ?,?, ?,?,?)";

            String pid = "994001111122222237";
            String name = "tom994";
            String idType = "1";
            String identity = "994001111122222237";
            String ic_card = "";
            String sex = "男";
            String version = "0";
            String update_time = "2020-07-15 20:02:45.389";
            //String insertSql2 = "insert into garytb(username,password) values(?,?)";
            PreparedStatement stmtInsert = conn.prepareStatement(insertSql);
            stmtInsert.setString(1, pid+"");
            stmtInsert.setString(2, name+"");
            stmtInsert.setString(3, idType+"");
            stmtInsert.setString(4, identity+"");
            stmtInsert.setString(5, ic_card+"");
            stmtInsert.setString(6, sex+"");
            stmtInsert.setString(7, version+"");
            stmtInsert.setString(8, update_time+"");
            int result =stmtInsert.executeUpdate();// 返回值代表收到影响的行数
            System.out.println("插入成功");
            stmtInsert.close();

            // 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT identity FROM person";
            ResultSet rs = stmt.executeQuery(sql);
            // 展开结果集数据库
            while(rs.next()){
                // 通过字段检索
                String id  = rs.getString("identity");
                // 输出数据
                System.out.print("ID: " + id);
                System.out.print("\n");
            }
            rs.close();
            stmt.close();

            conn.close();

        }catch(SQLException se){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exception e){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }// 什么都不做
            try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
}

编码过程可能遇到的问题汇总

  • java连接mysql数据库时,插入中文显示?的问题解决方案
    • 在jdbcUrl属性后面加上连接数据库时的连接字符串编码:?useUnicode=true&characterEncoding=UTF-8 (utf-8是创建数据库时指定的编码)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值