JDBC中Date类型数据的插入

package com.mypractice.five;

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

/**
 * 
 * 2014.07.23
 * @author zhutianpeng
 * 使用单例建立JDBC工具类
 */
public class JDBCUtil {
	private static String driver = "com.mysql.jdbc.Driver";
	private static String url = "jdbc:mysql://localhost:3306/ww";
	private static String root = "root";
	private static String password = "sa";
	private static JDBCUtil jdbcUtil = null;
	private static Connection conn = null;
	private JDBCUtil(){}
	
	static{
		try {
			Class.forName(driver);
			
		} catch (ClassNotFoundException e) {
			System.out.println("【加载驱动失...】");
			e.printStackTrace();
			
		}
	}
	/**
	 * 
	 * @return jdbcUtil
	 * 
	 * 实现获取JDBCUtil工具类的对象
	 */
	public static JDBCUtil getInstance(){
		if(jdbcUtil==null){
			synchronized(JDBCUtil.class){
				if(jdbcUtil==null){
					jdbcUtil = new JDBCUtil();
				}
			}
		}
		return  jdbcUtil;
	}
	/**
	 * 
	 * @return conn
	 * 
	 * 获取数据库连接
	 */
	public Connection getConnection(){
		try {
			conn  = DriverManager.getConnection(url,root,password);
		} catch (SQLException e) {
			System.out.println("【获取连接失败...】");
			e.printStackTrace();
		}
		return conn;
	}
	
	/**
	 * 
	 * @param rs
	 * @param st
	 * @param conn
	 * 
	 * 关闭数据库连接
	 */
	public void free(ResultSet rs,Statement st,Connection conn){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				System.out.println("【ResultSet关闭失败...】");
				e.printStackTrace();
			}finally{
				if(st!=null){
					try {
						st.close();
					} catch (SQLException e) {
						System.out.println("【Statement关闭失败...】");
						e.printStackTrace();
					}finally{
						if(conn!=null){
							try {
								conn.close();
							} catch (SQLException e) {
								System.out.println("【Connection关闭失败...】");
								e.printStackTrace();
							}
						}
					}
				}
			}
		}
	}
}



package com.mypractice.five;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;

public class DateTest {

	/**
	 * @param args
	 * @throws SQLException 
	 */
	public static void main(String[] args) throws SQLException {
		create("zhutianpeng",new Date(1992-03-21),222F);
	}
	public static void create(String name,Date birthday,float money) throws SQLException{
		Connection conn = JDBCUtil.getInstance().getConnection();
		String sql = "insert into user(name,birthday,money)values(?,?,?)";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1,name);
		ps.setDate(2,new java.sql.Date(birthday.getTime()));
		ps.setFloat(3, money);
		ps.executeUpdate();
	}
}

注:

     ①一定要将Java的util包中的Date类型转换至Java.sql.Date类型

new java.sql.Date(birthday.getTime())

    ②sql中的Date类是继承至java.uti.Date类,也就是java.sql.Date类是java.util.Date的子类。

你可能感兴趣的:(java,数据库)