集合
- 集合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”;