JAVA学习代码——SQL数据库使用

了解数据库连接的步骤

了解数据库操作原理

有关数据库的建立


封装学生类

package MyJDBC2;

public class Student {
	int id;
	String name;
	
	
	public Student() {
		super();
	}
	public Student(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + "]";
	}
	public int compareTo(Student o) {
		Student st = o;
		return this.id - st.id;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}

}
实现类以及数据库的连接等操作

package MyJDBC2;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 * java规定了所有的程序员用固定的步骤(一个方式访问)数据库,不管什么数据库,
 *	1,加载驱动:数据库编程,使用前必须装驱动
 *	Class.forName("com.mysql.jdbc.Driver");
 *	Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
 *	Class.forName("oracle.jdbc.driver.OracleDriver");//加入oracle的驱动,
 *	2,获得连接
 *	3,发送SQL语句
 *	4,提交SQL操作,获得结果
 *	5,处理结果集
 *
 *排序(默认升序ASC,降序DESC),order by,多个用,隔开 
 *增加列:alter table stu add salary float
 *修改表结构:alter table stu modify
 *组件通常是1表,外键通常是在多的一端
 *注意:如果表有主外键关系,增加的时候必须先有主键记录才能插入外键记录,删除的时候要先删除外键的表记录,才能删主表记录
 */
public class StuImpl {
	String user="root";//用户名
	String pwd="123456";//密码
	String url="jdbc:mysql://localhost:3306/school";//路径
	Connection con;//与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
	PreparedStatement pstd;
	ResultSet rs;
	public void login(int id,String name){
		String sql="select * from stu where id=? and name=?";
		try {
			//1,装载驱动,先导入驱动包到工程
			Class.forName("com.mysql.jdbc.Driver");
			//2,获得连接
			con = DriverManager.getConnection(url,user, pwd);
			//3,发送SQL语句
			pstd = con.prepareStatement(sql);
			pstd.setInt(1, 2);
			pstd.setString(2, "王老五");
			//4,提交SQL操作,获得结果
			rs = pstd.executeQuery();
			Student st = null;
			//5,处理结果
			while(rs.next()){
				int id2 = rs.getInt("id");
				String n = rs.getString("name");
				st = new Student(id,n);
				System.out.println(st+"该用户是合法用户。。。。。。。。。。。");
			}
			//6,关闭资源
			rs.close();
			pstd.close();
			con.close();
			
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//查找
	public void findStuById(int id){
		String sql="select * from stu where id=?";
		Student st = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			con = DriverManager.getConnection(url,user, pwd);
			pstd = con.prepareStatement(sql);
			pstd.setInt(1, id);//第一个问号为id
			rs = pstd.executeQuery();//executeQuery只能查询,插入用execute
			while(rs.next()){
				//从数据库取出的数据为集合,遍历取出存入st
				int i = rs.getInt("id");
				String n = rs.getString("name");
				st = new Student(i,n);
				System.out.println(st);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	//写入数据
	public  void addStu(int i,String n){
		String sql="insert into stu(id,name) values(?,?)";
		try {
			//1,装载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2,获得连接
			con = DriverManager.getConnection(url,user, pwd);
			//3,发送SQL语句
			pstd = con.prepareStatement(sql);
			//输入问号
			pstd.setInt(1, i);
			pstd.setString(2, n);
			//4,提交SQL操作,获得结果
			pstd.execute();

			//5,处理结果
			System.out.println("数据写入成功");
			//6,关闭资源

			pstd.close();
			con.close();
			
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args) {
		StuImpl ss = new StuImpl();
		System.out.println("login的结果《》《》《》《》");
		ss.login(123, "王大拿");
		System.out.println("findStuById的结果-----");
		ss.findStuById(4);
		System.out.println("addstu的结果-=-=-=-=-=-");
		ss.addStu(8, "何郑波");
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值