Java数据库连接

实验步骤根据教材和老师课堂的讲解。

1)创建Java Project test3

2)在test3中创建Folder lib 用来存储资源

3)将mysql-connector-j-8.0.31.jar拖动到lib目录下

4)右击mysql-connector-j-8.0.31.jar点击Build Path->Add to Build Path

5)配置系统环境变量,配置本地数据库和网络数据库

6)编写Java应用程序实现连接本地数据库和网络数据库的功能

7)对数据库进行数据查询的数据访问操作

设计思路:先创建Java Project test3,然后在test3中创建Folder lib 用来存储资源,将mysql-connector-j-8.0.31.jar拖动到lib目录下,右击mysql-connector-j-8.0.31.jar点击Build Path->Add to Build Path,然后创建Demo类,连接数据库,先加载数据库驱动类,和数据库建立连接,然后通过链接创建一个sql预处理命令发送器PreparedStatement,设置参数,使用sql命令发送器向数据库发送sql命令,执行预处理语句,然后打印出处理结果,最后关闭资源。(数据查询的结果是database cwn的table teacher表 的 sex=‘女的信息)

实验结果与分析

1.查询teacher表中sex=’女的信息,原表如图4-1,结果如图4-2

 

图4-1 教师表

图4-2 结果

实验分析

1.实验遇到的问题:

1)mysql新建连接提示Can't connect to MySQL server on localhost (0)

2.问题解决的方法:

1)打开任务管理器(ctrl+alt+del)->选择服务->找到mysql8,右键点击打开服务,如图4-3->进入到下面第二个页面如图4-4,找到mysql8,右键点击启动。重新打开mysql,进行连接即可。

图4-3 任务管理器

 

图4-4 找到服务里的mysql8

附源程序:

package Demo;
import java.sql.*;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class Demo {

	public static void main(String[] args) throws SQLException{
		// TODO Auto-generated method stub
		//加载驱动
		String driverName="com.mysql.cj.jdbc.Driver";
		try {
			Class.forName(driverName);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		//和数据库建立连接 ip port deptnme
		Connection con=null;
		String url="jdbc:mysql://localhost:3306/cwn?characterEncoding=utf-8";
		String user="root";
		String password="111111";//这里仅作示例,自己操作时输入自己设定的密码即可
		try {
			con=DriverManager.getConnection(url,user,password);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		//通过链接创建一个sql命令发送器PreparedStatement
		PreparedStatement sql=con.prepareStatement("SELECT * FROM teacher where sex=?");
		sql.setString(1, "女");//设置参数
		//使用sql命令发送器向数据库发送sql命令
		ResultSet rs=sql.executeQuery();//执行预处理语句
		//处理结果
		System.out.println("查询sex=女的信息:");
		System.out.println("tno"+"\t"+"tname"+"\t"+"sex"+"\t"
		+"title"+"\t"+"birthday");
		while(rs.next()) {
			String tno=rs.getString(1);
			String tname=rs.getString(2);
			String sex=rs.getString(3);
			String title=rs.getString(4);
			Date birthday=rs.getDate(5);
			System.out.printf("%s\t",tno);
			System.out.printf("%s\t",tname);
			System.out.printf("%s\t",sex);
			System.out.printf("%s\t",title);
			System.out.printf("%s\n",birthday);
		}
		//关闭资源
		rs.close();
		sql.close();
		con.close();
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值