来自https://blog.csdn.net/zhu7478848/article/details/38071783,感谢作者的无私分享。
- 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 = ;
- private static Connection conn = ;
- private JDBCUtil(){}
- static{
- try {
- Class.forName(driver);
- } catch (ClassNotFoundException e) {
- System.out.println("【加载驱动失...】");
- e.printStackTrace();
- }
- }
- /**
- *
- * @return jdbcUtil
- *
- * 实现获取JDBCUtil工具类的对象
- */
- public static JDBCUtil getInstance(){
- if(jdbcUtil==){
- synchronized(JDBCUtil.class){
- if(jdbcUtil==){
- 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!=){
- try {
- rs.close();
- } catch (SQLException e) {
- System.out.println("【ResultSet关闭失败...】");
- e.printStackTrace();
- }finally{
- if(st!=){
- try {
- st.close();
- } catch (SQLException e) {
- System.out.println("【Statement关闭失败...】");
- e.printStackTrace();
- }finally{
- if(conn!=){
- 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的子类。