JDBC的小Demo

1 篇文章 0 订阅

    在java中对数据库实行操作,对不同的数据库需要导入不同的数据库驱动(提供SQL操作的jar包)。我在这里使用的数据库是SQL server 2008 。也在网上下载了相适配的jar包。

    下载了驱动并加入本地工程的依赖库后,就可以使用其中的API了。

不过既然是操作数据库,我就先建立好了一个数据库并新建表student_info。真实名字码掉。

现在eclipse中,对每一个student,都有相同的属性,故建立一个实体类student.java

 
public class Student {
	private String Sno = null;
	private String name = null;
	private String sex = null;
	private String birth = null;
	private String ClassNo = null;
	private String Entrance_date = null;
	private String Home_Addre = null;
	private String sdept = null;//系别
	private String postcode = null;
	public String getSno() {
		return Sno;
	}
	public void setSno(String sno) {
		Sno = sno;
	}
	··············省略一批get和set方法·················
	public String getPostcode() {
		return postcode;
	}
	public void setPostcode(String postcode) {
		this.postcode = postcode;
	}
	
}

既然想要操作数据库,那就要获取到数据库的连接。新建一个类DB_connectBean专门获取连接,先通过反射把驱动导入,连接对象Connection通过DriverManager的getConnection方法产生。需要指定数据库的URL,本例中是本地数据库——

public class DB_ConnectBean {
	
	private static Connection cnt = null;
	
	/**
	 * 静态块:程序运行最早执行的代码块
	 */
	static{
		try {
			//加载JDBC驱动
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			//获得数据库的链接
			cnt = DriverManager.getConnection(
					"jdbc:sqlserver://localhost:1433;integratedSecurity=true;DatabaseName=Student_info");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static Connection getConnection(){
		return cnt;
	}
//	//测试用的
//	public static void main(String[] args) throws Exception {
//		connect();
//	}
	
}	

定义了静态方法返回对数据库的连接Connection对象,写一个类来实现对数据库的增删改查方法。需要调用到这个Bean——

public class Student_info_Dao {
	public void addStudent(){
		//add学生的操作
	}
	public void delStudent(){
		//delete学生的操作
	}
	public void upgradeStudent(){
		//更新学生的操作
	}
	public List<Student> queryStudent() throws Exception{
		//返回所有学生信息的操作。
		Connection cnt = DB_ConnectBean.getConnection();
		Statement stmt = cnt.createStatement();
		ResultSet rs = stmt.executeQuery("select * from Student_info");
		
		List<Student> students = new ArrayList<>();
		Student s = null;
		while(rs.next()){
			s = new Student();
			s.setName(rs.getString("Sname"));
			s.setSex(rs.getString("Sex"));
			s.setSno(rs.getString("Sno"));
			s.setBirth(rs.getString("Birth").substring(0, 11));
			s.setClassNo(rs.getString("Classno"));
			s.setEntrance_date(rs.getString("Entrance_date"));
			s.setHome_Addre(rs.getString("Home_addr"));
			s.setSdept(rs.getString("sdept"));
			s.setPostcode(rs.getString("postcode"));
//			System.out.println("姓名:???"+rs.getString("Sname"));
			students.add(s);
		}
		return students;
	}
	public Student GetStudent(){
		//查询特定学生的操作,可指定参数
		return null;
	}
}

可以看到在java中执行SQL语句是先通过connection对象创建一个statement对象,statement对象的execute方法可以填入想要执行的SQL语句,返回的结果保存在ResultSet对象中。

然后写一个主类来运行显示一下结果,看能否正确从数据库中select到想要的结果并输出在控制台:

public class Action {
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		Student_info_Dao dao = new Student_info_Dao();
		List<Student> students = dao.queryStudent();
		for (Student student : students) {
			System.out.println("学号:"+student.getSno()+"------姓名:"+student.getName()+"------性别:"+student.getSex()
					+"------生日:"+student.getBirth()+"------籍贯:"+student.getHome_Addre());
		}
	}
}

运行,在控制台下获取到了信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL JDBCJava Database Connectivity)是一种用于在Java应用程序中与MySQL数据库进行交互的技术。通过使用MySQL JDBC,我们可以实现Java程序与MySQL数据库之间的连接、查询、插入、更新和删除等操作。 以下是一个简单的MySQL JDBC示例代码: ```java import java.sql.*; public class MySQLJDBCDemo { public static void main(String[] args) { // 定义数据库连接信息 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "123456"; // 定义SQL语句 String sql = "SELECT * FROM students"; try { // 加载MySQL JDBC驱动程序 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 创建Statement对象 Statement statement = connection.createStatement(); // 执行查询语句 ResultSet resultSet = statement.executeQuery(sql); // 遍历结果集 while(resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age); } // 关闭连接 resultSet.close(); statement.close(); connection.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } ``` 该示例代码通过连接到名为"mydatabase"的MySQL数据库,执行了一个查询语句,并将结果集打印输出。要使用该示例,您需要将MySQL JDBC驱动程序添加到您的Java项目中,并修改url、username和password变量以匹配您的数据库连接信息。 该示例仅仅是MySQL JDBC的基本用法,您还可以使用MySQL JDBC进行更新、插入和删除等操作。通过学习和掌握MySQL JDBC,您可以轻松地在Java应用程序中访问和操作MySQL数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值