java对数据库的操作总结

环境
jdk版本:java 1.8
数据库:mysql 8.0.13
数据库的连接

package S;
/**
 * 数据库的连接
 */
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class test01 {
	public static void main(String[] args) {
		test01 conn = new test01();
		conn.TheSqlConnection();
	}
 
    private static final String URL = "jdbc:mysql://localhost:3306/vincenttest?" 
    		  + "serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false";//数据库连接字符串,vincenttest为要连接的数据库的名称
    private static final String NAME="root";//登录名
    private static final String PASSWORD="**********";//密码
	public void TheSqlConnection()
	{
        try {
			Class.forName("com.mysql.cj.jdbc.Driver");//加载驱动
		} catch (ClassNotFoundException e) {
			System.out.println("未能成功加载驱动程序,请检查是否导入驱动程序!");
                        //添加一个println,如果加载驱动异常,检查是否添加驱动,或者添加驱动字符串是否错误
			e.printStackTrace();
		}
		Connection conn = null;
		try {
			conn = DriverManager.getConnection(URL, NAME, PASSWORD); 
		        System.out.println("获取数据库连接成功!");
		} catch (SQLException e) {
			System.out.println("获取数据库连接失败!");
                        //添加一个println,如果连接失败,检查连接字符串或者登录名以及密码是否错误
			e.printStackTrace();
		}
	}
	//此方法方便后续的程序去实现连接数据的操作
	public static Connection getconnection() throws SQLException {
	    return DriverManager.getConnection(URL, NAME, PASSWORD);
	}
}

查询操作

  • 以验证密码为例子
//此方法用来验证密码:(idname为用户的id,pas为用户输入的密码);
//思路:此方法先用用户的ID查询到数据库中对应的密码再与用户输入的密码进行比较
	public boolean checkpassword(int idnum,String  pas)
	{
		String password = " ";
		String sql = "select Password from Vincenttest.kcsj where ID = '"+idnum+"'";
		try {
			Statement sta = test01.getconnection().createStatement();
			ResultSet rs = sta.executeQuery(sql);//<----用executeQuery()方法执行
			while(rs.next()){
				password = rs.getString("Password");  //在次数根据ID获取相应的密码;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		//在此数将用户输入的密码与数据库中得密码进行比较
		if(pas.equals(password)){
			return true ;
		}else{
			return false ;
		}

	}

插入操作

  • 用户注册为例:
//idnum为用户要注册的ID, pas为用户填入的初始密码,此方法返回值为int,如果执行不成功返回0;成功返回1;
	public int zhuce(int idnum, String pas)
	{
		int sco = 0 ;
		int i = 0;
		String sql = "insert into vincenttest.kcsj (ID,Password,Score) Values('"+idnum+"','"+pas+"','"+sco+"')";
		try {
			Connection conn = test01.getconnection();
			Statement sta = conn.createStatement();
			i = sta.executeUpdate(sql); //执行成功 i = 1;<------用executeUpdat()方法  
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return i;
	}

更新操作

  • 用户的数据的修改为例(如用户在某处得分的修改)
	//此方法用来更新数据,根据提供的ID去修改相应的分数sco,返回值为int,执行成功返回1,执行失败返回0
	public int genxing(int idnum,int sco)
	{
		int scor = chaxun(idnum) + sco ;
		int i = 0;  //用于判断sql语句的执行 
		String sql = "UPDATE vincenttest.kcsj set Score = '"+scor+"' where ID = '"+idnum+"'";
		try {
			Connection conn = test01.getconnection();
			Statement sta = conn.createStatement();
			i = sta.executeUpdate(sql);   //执行成功 i = 1; <------用executeUpdat()方法
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return i ;
	}

删除操作

  • 以删除用户为例
	//此方法用于删除用户;删除用户ID。返回值为int,执行成功返回1,执行失败返回0.
	public int dele(int idnum)
	{
		int i = 0 ; // 用于判断sql语句的执行效果;
		String sql = "DELETE from vincenttest.kcsj where ID = '"+idnum+"'";
		try {
			Connection conn = test01.getconnection();
			Statement sta =  conn.createStatement();
			i = sta.executeUpdate(sql);           //<------用executeUpdat()方法
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return i ;     //执行成功返回1;
	}

猜你喜欢

转载自blog.csdn.net/qq_40265485/article/details/87191178