一个可运行的jdbc连接mysql示例
sql:
CREATE TABLE
testkk
(
id INT PRIMARY KEY NOT NULL,
name CHAR(20) NULL,
age INT(10) NULL,
startDate DATETIME NULL
)
java代码:
/**
* TestMain.java kk.DBconn
*/
package kk.DBconn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
/**
* TODO(这里用一句话描述这个类的作用)
* <p>
* TODO(这里描述这个类补充说明 – 可选)
* @author kroseing
* @date 2014-11-6
* @version 1.0.0
*/
public class TestMain {
public static final String url = "jdbc:mysql://localhost/kroseing";
public static final String driver = "com.mysql.jdbc.Driver";
public static final String user = "root";
public static final String password = "kroseing";
public Connection conn = null;
public PreparedStatement pst = null;
public static void main( String[] args ) throws Exception {
Connection con = null; //表示数据库的连接对象
PreparedStatement pstmt = null; //表示数据库更新操作
String name = "kk";
int age = 27;
//Date startDate = new Date();
long startDate = System.currentTimeMillis();
System.out.println(startDate);
int i = 5;//数据库主键,要修改值
String sql = "insert into kroseing.testkk values(" + i + ",?,?,?)";//?表示sql的参数占位符
Class.forName(driver); //1、使用CLASS 类加载驱动程序
System.out.println(sql);
con = DriverManager.getConnection(url, user, password); //2、连接数据库
pstmt = con.prepareStatement(sql); //使用预处理的方式创建对象
pstmt.setString(1, name); //第一个?号的内容
pstmt.setInt(2, age); //第二个?号的内容
//pstmt.setDate(3, new java.sql.Date(startDate.getTime()));
pstmt.setObject(3, new Timestamp(startDate));
pstmt.executeUpdate(); //执行SQL 语句,更新数据库
pstmt.close();
con.close(); // 4、关闭数据库
}
}