IDEA用jdbc连接mysql

集合

  • 集合api
  • Collection(接口)
  • list-子接口
  • ArrayList
  • set-子接口
  • HashSet
  • Map
  • HashMap

Demo01

package cn.tedu.api;


import java.util.ArrayList;
import java.util.Iterator;

/**
* @author 作者: huzhengjie
* @version 时间:8:43  2021/7/15
* @desc 描述:
**/
public class Demo01 {
   public static void main(String[] args) {
       //创建集合
       ArrayList<String> list = new ArrayList<String>();
       list.add("hai");
       list.add("nnn");
       System.out.println(list);
       System.out.println("-----普通for循环-----");
       for (int i = 0; i < list.size(); i++)
           System.out.println(list.get(i));


   //方法二:增强型for循环
       System.out.println("------增强型for循环------");
       for (String name:list
            ) {
           System.out.println(name);
       }

   //方法三:迭代器
       System.out.println("----迭代器----");
       Iterator<String> it=list.iterator();
       while(it.hasNext()){
           String name = it.next();
           System.out.println(name);
       }
}
}

Demo02

package cn.tedu.api;

import java.util.HashSet;
import java.util.Iterator;

/*
* @author 作者: huzhengjie
* @version 时间:8:51  2021/7/15
* @desc 描述:HashSet:
*
*/
public class Demo02 {
   public static void main(String[] args) {
       HashSet<String> set=new HashSet<>();
       set.add("aa");
       set.add("as");
       set.add("x");
       System.out.println(set);
       //添加重复元素
       set.add("aa");
       System.out.println(set);
       //使用迭代器

       for (Iterator<String> it1=set.iterator(); it1.hasNext();)
       {
           String name= it1.next();
           System.out.println(name);
       }
   }
}

Demo03

package cn.tedu.api;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

/**
* @author 作者: huzhengjie
* @version 时间:9:05  2021/7/15
* @desc 描述:HashMap:键值对存储的。key-value
**/
public class Demo03 {
   public static void main(String[] args) {
       HashMap<String,String> map=new HashMap<String,String>();
       //添加元素
       map.put("L","乐天");
       map.put("d","大象");
       map.put("s","上海");
       //获取元素  json    xml     txt
    //  String name=map.get("s");
       System.out.println(map);//{s=上海, d=大象, L=乐天} 顺序随机
       //迭代
      Set<String> set= map.keySet();
       Iterator iterator=set.iterator();
       while (iterator.hasNext()){
           String key= (String) iterator.next();
           String values = map.get(key);
           System.out.println("key:"+key+", values:"+values);
       }
   }
}

jdbc连接数据库

1、什么是jdbc

  • java语言与数据库 交互技术
  • jdbc是java程序与关系数据库交互的标准
  • 提供一套统一的操作页面
  • jdbc是一组接口,制定java程序与各种数据库软件交互的一套API
  • 数据库产品:Oracle、mysql、db2、SqlServer
  • jdbc制定的标准,程序员会根据这套标准去写java程序
  • 软件在运行期间:java程序调用的是数据库厂商提供的具体的Api实现
  • 数据库厂商提供的具体驱动器,也就实现了jdbc的标准
  • jdbc程序----驱动程序----mysql
  • jdbc程序----驱动程序----oracle
  • jdbc程序----驱动程序----db2

2、JDBC的编码步骤

  • 加载驱动
  • 创建java于数据库的连接
  • 发送SQL
  • 查询等,处理数据
  • 关闭连接

加载驱动和连接数据库

package cn.tedu.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
* @author 作者: huzhengjie
* @version 时间:9:56  2021/7/15
* @desc 描述:
**/
public class Demo05 {
   public static void main(String[] args) throws ClassNotFoundException, SQLException {
       String className="com.mysql.cj.jdbc.Driver";
       /*
       *jdbc:mysql:设置驱动程序类
       *localhost:3306/abc 数据库地址
       * 端口号:3306
       * userSSL=true  高版本的mysql安全性数据交互选项
       * user:数据库用户名
       * password:数据库密码
        */
       String url="jdbc:mysql://localhost:3306/t_store?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"
               ;
       String user="root";
       String password="123456";
       //1.加载驱动程序
       Class.forName(className);//装载一个类对其进行实例化操作
       System.out.println("加载成功!!");
       //2.创建连接
       Connection connection= DriverManager.getConnection(url,user,password);
       System.out.println(connection);
       System.out.println("已经与数据库建立连接!");
   }
}

发送sql语句

package cn.tedu.jdbc;

import com.sun.xml.internal.ws.client.ContentNegotiation;

import java.sql.*;

/**
 * @author 作者: huzhengjie
 * @version 时间:14:03  2021/7/15
 * @desc 描述:
 **/
/*
 *注册:
 *向t_user表中插入数据,添加一条数据。
 *
 */
public class Demo06 {
    public static void main(String[] args) throws SQLException {
        //1.加载驱动
        String className = "com.mysql.cj.jdbc.Driver";
        String.format(className);
        System.out.println("加载成功!!");
        //2.建立连接
        String url = "jdbc:mysql://localhost:3306/t_store?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
        String user = "root";
        String password = "123456";
        Connection connection = DriverManager.getConnection(url, user, password);
        System.out.println(connection);
        System.out.println("数据库连接成功!!");
        //3.发送sql语句
        //statement对象用来发送执行sql语句
        Statement st = connection.createStatement();
        添加数据
          String sql="insert into t_user(username,password,email,phone,image,gender,created_user,created_time,modifide_user,modifide_time) " +
            "values('胡','123','1234567@qq.com','15860656823',null,1,'system',now(),'idea',now());";
           int row= st.executeUpdate(sql);
         if(row>0){
              System.out.println("注册成功!");
         }
        //删除数据
        String sql1 = "delete from t_user where id=1";
        int row1 = st.executeUpdate(sql1);
        if (row1 > 0) {
            System.out.println("删除成功!");
        }
        //更新数据
        String sql2 = "update t_user set created_user='huzhenjie' where id=2 ";
        st.executeUpdate(sql2);
        //4.关闭
        if (connection != null) {
            connection.close();
        }
    }
}

查询数据

package cn.tedu.jdbc;

import java.sql.*;

/**
 * @author 作者: huzhengjie
 * @version 时间:17:11  2021/7/15
 * @desc 描述:查询
 **/
public class Demo09 {
    public static void main(String[] args) throws SQLException {
        String className = "com.mysql.cj.jdbc.Driver";
        String.format(className);
        System.out.println("加载成功");

        String utl = "jdbc:mysql://localhost:3306/t_store?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
        String user = "root";
        String password = "123456";
        Connection connection = DriverManager.getConnection(utl, user, password);
        System.out.println("连接成功");
        //发送SQL语句
        Statement statement = connection.createStatement();
        String sql = "select *from t_user ";
        ResultSet rs = statement.executeQuery(sql);//返回结果集对象
        //处理结果集对象
        //移动结果集指针查看每一条数据
        while (rs.next()) {
            int id = rs.getInt("id");
            String username = rs.getString("username");
            Timestamp created_time = rs.getTimestamp("created_time");
            System.out.println(id + "\t" + username + "\t" + created_time);

        }
        if (connection != null) {
            connection.close();
        }
    }
}

注意事项

  • 出现jdbc连接不成功的情况,检查下mysql的版本和jdbc驱动包版是否一样(驱动包版本最好大于mysql版本
  • 最好查看一下这行代码 有误错误提示 不同版本mysql这里的代码也许会不一样!
    String utl=“jdbc:mysql://localhost:3306/t_store?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC”;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值