JAVA连接到MySql,并进行增删改查操作

引进包:项目名右键—Build Path—configure Build Path—Libraries—Add External JARs—要引入的包

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

/**
 * 链接数据库的工具类
 * @author Administrator

 * mysql数据库
 */
public class ConnectionUtil {
 public static Connection getConnection(){
  try {
   // 加载驱动 :驱动的名称,不同的数据库驱动有不同的写法。
   Class.forName("com.mysql.jdbc.Driver");
   // 链接数据库的URL,各种不同的数据库也有不同的写法。
   String url = "jdbc:mysql://192.168.7.245:3306/school";
   // 链接数据库的用户名称。
   String user = "JT201201";
   // 链接数据库的用户密码。
   String password = "123456";
   // 根据DriverManager的getConnection方法得到一个数据库的链接。
   Connection connection = DriverManager.getConnection(url, user,password);

   // 返回得到的数据库的链接。
   return connection;
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }

   // 运行出现异常返回null

  return null;
 }
}

 

 

 

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

import org.qrsx.util.ConnectionUtil;

/**
 * 查询的操作
 * @author Administrator
 *
 */
public class SelectDemo {

 public static void main(String[] args) {

  // 根据connection工具类得到一个Connection链接

  Connection connection=ConnectionUtil.getConnection();

  //用于执行静态 SQL 语句并返回它所生成结果的对象。
  Statement statement=null;

  //返回的结果集。
  ResultSet resultSet=null;

  //判断是否通过connection工具类得到了Connection链接。
  if(connection!=null){
   try {
    statement=connection.createStatement();

     //SQL 的查询语句。
    String sql="select * from student_tb ";
    //executeQuery方法 返回一个结果集。
    resultSet=statement.executeQuery(sql);
    //遍历结果集。next()判断是否还有下一个元素,有,返回TRUE,否则返回false。如果返回的为TRUE,则  同时将光标指向下一个元素。
    while(resultSet.next()){
     //getXxx()一般重载,1,传入列的下标(sql的下标是从1开始的。)。2,传入列的名称(推荐)。
     //resultSet 在此次表示当前的结果。
     int id=resultSet.getInt(1);

     String stuName=resultSet.getString("stuName");
     int stuAge=resultSet.getInt("stuAge");
     Date stuBirthday=resultSet.getDate("stuBirthday");

      //打印得到的结果
     System.out.println(id+"\t"+stuName+"\t"+stuAge+"\t"+stuBirthday);
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    try{
     if(resultSet!=null){
      resultSet.close();
     }
     if(statement!=null){
      statement.close();
     }
     if(connection!=null){
      connection.close();
     }
    }catch(SQLException e){
     e.printStackTrace();
    }
   }
  }
 }

}

 

 

 

 

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

import org.qrsx.util.ConnectionUtil;

/**
 * 添加操作。
 * 可用于执行增删改操作
 * @author Administrator
 */
public class InsertDemo {
 public static void main(String[] args) {

// 根据connection工具类得到一个Connection链接
  Connection connection=ConnectionUtil.getConnection();
  /**
   * Statement :sql语句编译成的对象。
   * execute(): CRUD
   * executeQuery(): R
   * executeUpdate(): CUD
   */
  Statement statement=null;
  if(connection!=null){
   try {
    statement=connection.createStatement();
    String sql="insert into student_tb (stuName,stuAge,stuBirthday)values ('王五',27,'1985-6-12')";
    int t=statement.executeUpdate(sql);
    System.out.println(t);
   } catch (SQLException e) {
    e.printStackTrace();
   } finally{
    //最后,别忘记主动的关闭资源。
    try {
     if(statement!=null){
      statement.close();
     }
     if(connection!=null){
      connection.close();
     }
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
  }
 }

}

 

 

 

 

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

import org.qrsx.util.ConnectionUtil;

/**
 * 

 * 使用预编译对象进行对数据库的操作

 * @author Administrator
 */

public class InsertDemo1 {

 public static void main(String[] args) {
  Connection connection=ConnectionUtil.getConnection();
  //预编译对象。
  PreparedStatement statement=null;
  if(connection!=null){
   //SQL语句的“?”表示占位符。不确定的值。
   //使用PrepareedStatement可以 防止SQL注入。
   String sql="insert into student_tb (stuName,stuAge,stuBirthday)values (?,?,?)";
   try {
    //得到一个SQL语句的预编译对象。
    statement=connection.prepareStatement(sql);
    //在真正运行之前,一定要使用setXxx方法对所有的?进行赋值。
    statement.setString(1, "赵柳");
    statement.setInt(2, 18);
    statement.setDate(3, new Date(1998,5,12));
    int t=statement.executeUpdate();
    System.out.println(t);
   } catch (SQLException e) {
    e.printStackTrace();
   }finally{
    //要关闭资源。
   }
  }
 }

}

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值