可是使用Connect对象可以得到Statement对象;
通过Statement对象可以操作数据库;
1、 drop table user;----删除表;
create table user(
id int auto_increment primary key,
name varchar(30) not null,
password varchar(32) not null,
age int not null,
sex varchar(2) default '男',
birthday date
);
2、插入数据:
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo{
//定义数据库的驱动程序
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
//定义数据库的连接地址:
public static final String DBURL="jdbc:mysql://localhost:3306/lid";
//定义数据库的用户名
public static final String DBUSER="root";
//定义数据库的密码
public static final String DBPASSWORD="123";
public static void main(String args[]) throws Exception{
Connection conn=null;
Statement stmt=null;//数据库操作
//加载数据库驱动
Class.forName(DBDRIVER);//创建一个该驱动类的Class对象;
String sql="insert into user(name,password,age,sex,birthday)"+
" values('lid','123',20,'男','1988-01-01')";
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
stmt=conn.createStatement();
stmt.executeUpdate(sql);//执行操作
stmt.close();//关闭操作
conn.close();//关闭连接
}
}
以上有个弊端,每添加一条数据就得写一条数据;
解决如下 :(可以不把变量写死,通过传参的形式是name等去得到传来的参数的值)
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo{
//定义数据库的驱动程序
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
//定义数据库的连接地址:
public static final String DBURL="jdbc:mysql://localhost:3306/lid";
//定义数据库的用户名
public static final String DBUSER="root";
//定义数据库的密码
public static final String DBPASSWORD="123";
public static void main(String args[]) throws Exception{
Connection conn=null;
Statement stmt=null;//数据库操作
//加载数据库驱动
Class.forName(DBDRIVER);//创建一个该驱动类的Class对象;
String name="yuj";
String password="456";
int age=19;
String sex="女";
String birthday="1988-09-16";
String sql="insert into user(name,password,age,sex,birthday)"+ " values('"+name+"','"+password+"',"+age+",'"+sex+"','"+birthday+"')";
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
stmt=conn.createStatement();
stmt.executeUpdate(sql);//执行操作
stmt.close();//关闭操作
conn.close();//关闭连接
}
}
2、更新操作;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class Demo{
//定义数据库的驱动程序
public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
//定义数据库的连接地址:
public static final String DBURL="jdbc:mysql://localhost:3306/lid";
//定义数据库的用户名
public static final String DBUSER="root";
//定义数据库的密码
public static final String DBPASSWORD="123";
public static void main(String args[]) throws Exception{
Connection conn=null;
Statement stmt=null;//数据库操作
//加载数据库驱动
Class.forName(DBDRIVER);//创建一个该驱动类的Class对象;
int id=2;
String name="yuj";
String password="456";
int age=18;
String sex="女";
String birthday="1988-09-16";
String sql="update user set age="+age+" where id="+id;
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
stmt=conn.createStatement();
stmt.executeUpdate(sql);//执行操作
stmt.close();//关闭操作
conn.close();//关闭连接
}
}