日期转换&简单的JDBC
日期转换
//创建了一个系统时间
String str = "2021-08-20";
Date date = new Date();
System.out.println(date);
System.out.println(date.getYear()+1900);//年
System.out.println(date.getMonth()+1);//月
System.out.println(date.getDate());//日
//调用过时方法
elegant();
//自定义过时方法
@Deprecated
public static void elegant(){
System.out.println("优雅~永不过时~");
}
自定义日期转换工具类
package com.week4.day5.dateTest;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author rv
* @create 2021-08-20 15:21
*/
public class DateUtils {
/**
* 把日期字符串转换为日期对象
*/
public static Date getDate(String timeStr,String pattarn) throws Exception{
SimpleDateFormat sdf = new SimpleDateFormat(pattarn);
if(timeStr!=null){
return sdf.parse(timeStr);
}
return null;
}
/**
* 把日期对象格式化合适的日期字符串
*/
public static String formateDate(Date date,String pattarn){
SimpleDateFormat sdf = new SimpleDateFormat(pattarn);
if(date!=null){
return sdf.format(date);
}
return null;
}
}
调用工具类
SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd");
System.out.println(sdf.format(date));
//1.把日期格式字符串转换为对应的日期对象
Date date1 = DateUtils.getDate(str, "yyy-MM-dd");
//2.把日期对象转换为日期字符串
String s = DateUtils.formateDate(date, "yyy-MM-dd");
使用Calendar
//Calendar测试
Calendar calendar = Calendar.getInstance();
Date time = calendar.getTime();
System.out.println(time);
System.out.println(calendar.get(calendar.YEAR));
//不过时,但和Date没什么区别,注意一下jdk版本
JDBC
注意导包 按照自己mysql版本来:mysql-connector-java-5.1.0-bin.jar
import java.sql.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author rv
* @create 2021-08-20 16:15
*/
public class JdbcTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
List<User> users= new ArrayList<>();
//通过java程序连接数据库
//1.加载驱动的过程
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/jdbc?useUnicode=true&characterEncoding=utf8&useSSL=false";//true会报错
String username="root";
String password="root";
//2.连接成功,返回数据库对象 Connection 代表数据库
Connection connection= DriverManager.getConnection(url,username,password);
// System.out.println(connection);//判断连接是否成功
//sql语句
//查询
String sql = "select * from users";
PreparedStatement pstm =connection.prepareStatement(sql);
ResultSet resultSet = pstm.executeQuery();
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String password1 = resultSet.getString("password");
String email = resultSet.getString("email");
Date birthday = resultSet.getDate("birthday");
User user = new User(id,name,Integer.parseInt(password1), email,birthday);
users.add(user);
}
for (User user : users) {
System.out.println(user.toString());
}
//增加
// String sql2 = "INSERT INTO `jdbc`.`users` VALUES (?,?,?,?,?)";
// PreparedStatement pstm2 =connection.prepareStatement(sql2);
// pstm2.setObject(1, 4);
// pstm2.setObject(2, "芜湖");
// pstm2.setObject(3, "120");
// pstm2.setObject(4, "999@qq.com");
// pstm2.setObject(5, new Date());
// int i = pstm2.executeUpdate();//代表受影响的行数
// if(i>0){
// System.out.println("添加成功");
// }else {
// System.out.println("添加失败");
// }
//删除
// String sql3 = "DELETE FROM `jdbc`.`users` WHERE `id` = ?";
// PreparedStatement pstm3 =connection.prepareStatement(sql3);
// pstm3.setObject(1, 4);
// int i = pstm3.executeUpdate();//代表受影响的行数
// if(i>0){
// System.out.println("删除成功");
// }else {
// System.out.println("删除失败");
// }
//更改
// String sql4 = "UPDATE `jdbc`.`users` SET `id` = ? , `name` = ? , `password` = ? , `email` = ? , `birthday` = ? WHERE `id` = ?";
// PreparedStatement pstm4 =connection.prepareStatement(sql4);
// pstm4.setObject(1, 4);
// pstm4.setObject(2, "芜湖");
// pstm4.setObject(3, "120");
// pstm4.setObject(4, "999@qq.com");
// pstm4.setObject(5, new Date());
//
// pstm4.setObject(6, 2);//更新的id
// int i = pstm4.executeUpdate();//代表受影响的行数
// if(i>0){
// System.out.println("更新成功");
// }else {
// System.out.println("更新失败");
// }
//释放连接
resultSet.close();
pstm.close();
connection.close();
}
}
注意:最难的为多表的关联查询,增删改为固定的。