packageedu.aeon.jdbc;importjava.sql.Connection;importjava.sql.Driver;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;/*** [说明]:测试jdbc
*@authoraeon(qq:1584875179)
**/
public classTest {/*** jdbc执行DQL语句*/
public static voidtestDQL(){
Connection connection=null;
Statement statement=null;
ResultSet resultSet=null;try{
Driver driver=newcom.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
connection=DriverManager.getConnection(url, username, password);
statement=connection.createStatement();
String dql_sql="select * from test;";
resultSet=statement.executeQuery(dql_sql);
System.out.println("序号\t名 称");while(resultSet.next()){int id=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println(id+"\t"+name);
}
}catch(SQLException e) {
e.printStackTrace();
}finally{try{if(null!=resultSet){
resultSet.close();
}
}catch(SQLException e) {
e.printStackTrace();
}try{if(null!=statement){
statement.close();
}
}catch(SQLException e) {
e.printStackTrace();
}try{if(null!=connection){
connection.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}/*** jdbc执行DML语句*/
public static voidtestDML(){
Connection connection=null;
Statement statement=null;try{
Driver driver=newcom.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
connection=DriverManager.getConnection(url, username, password);
statement=connection.createStatement();
String dml_sql="insert into test(name) values('name6')";int num=statement.executeUpdate(dml_sql);
System.out.println("受影响的行数为:"+num);
}catch(SQLException e) {
e.printStackTrace();
}finally{try{if(null!=statement){
statement.close();
}
}catch(SQLException e) {
e.printStackTrace();
}try{if(null!=connection){
connection.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}/*** jdbc执行DDL语句*/
public static voidtestDDL(){
Connection connection=null;
Statement statement=null;try{
Driver driver=newcom.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
connection=DriverManager.getConnection(url, username, password);
statement=connection.createStatement();
String ddl_sql="create table users(id int(4) primary key auto_increment,name varchar(10),password varchar(16));";int num=statement.executeUpdate(ddl_sql);
System.out.println("受影响的行数为:"+num);
}catch(SQLException e) {
e.printStackTrace();
}finally{try{if(null!=statement){
statement.close();
}
}catch(SQLException e) {
e.printStackTrace();
}try{if(null!=connection){
connection.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}/*** jdbc使用excute方法同时可以执行DQL/DML/DDL语句*/
public static voidtestDQLDMLDDL(){
Connection connection=null;
Statement statement=null;
ResultSet resultSet=null;try{
Driver driver=newcom.mysql.jdbc.Driver();
DriverManager.registerDriver(driver);
String url="jdbc:mysql://localhost:3306/jdbc";
String username="root";
String password="root";
connection=DriverManager.getConnection(url, username, password);
statement=connection.createStatement();
String sql="insert into test(name) values('name6')";if(statement.execute(sql)){//如果返回true则表示执行的是DQL,有结果集返回,如果为false则表示返回的是更新计数器
resultSet=statement.getResultSet();
System.out.println("序号\t名 称");while(resultSet.next()){int id=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println(id+"\t"+name);
}
}else{//如果为false则表示返回的是更新计数器
int num =statement.getUpdateCount();
System.out.println("更新了"+num+"条数据!");
}
}catch(SQLException e) {
e.printStackTrace();
}finally{try{if(null!=statement){
statement.close();
}
}catch(SQLException e) {
e.printStackTrace();
}try{if(null!=connection){
connection.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}public static voidmain(String[] args) {//testDQL();//testDML();//testDDL();
testDQLDMLDDL();
}
}