日期转换&简单的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();

    }
}

注意:最难的为多表的关联查询,增删改为固定的。

posted @ 2021-08-20 17:09  RenVei  阅读(130)  评论(0编辑  收藏  举报