一、导包
1⃣️ java连接mysql数据库的jar包: mysql-connector-java-5.1.47 链接
注意:数据库的版本要和jar包符合一致。
2⃣️ 把jar包加入到build Path中
3⃣️ 加入成功如图所示:
4⃣️ 再加入JUnit 测试模块
二、调用和操作数据库
方法一:
//直接进行数据库操作 不推荐不安全 (当查询语句是拼接的时候)
public void login(int id,String name) throws ClassNotFoundException, SQLException
{
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "222");//所用的数据库是test 用户名root 密码 222
//创建sql语句对象
Statement stmt = conn.createStatement();
//书写一个sql语句
String sql = "select * from apple where "+" id='"+id+"' and name='"+name+"' ";
//执行sql语句
ResultSet rs = stmt.executeQuery(sql);
System.out.println(rs);
if(rs.next()) {
System.out.println(sql);
System.out.println("登录成功!!!!"+ "\n" +"id="+id+" name="+name);
}else {
System.out.println("登录失败!!!!");
}
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
}
方法二:通过预处理的方法处理sql语句:
//预处理sql 进行数据库操作 较为安全 数据查询 数据更新
public void login2(int id,String name) throws ClassNotFoundException, SQLException
{
//1注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "222");
//3书写一个sql语句
String sql = "insert into apple values(10,'l23li') ";
//4预处理sql语句
PreparedStatement pstmt=conn.prepareStatement(sql);
//5设置参数 占位符 查询可以用到
// pstmt.setInt(1, id);
// pstmt.setString(2, name);
//6执行sql语句
// ResultSet rs = pstmt.executeQuery(); // 查询可以用到
int i=pstmt.executeUpdate(); //增删改可以用到
System.out.println("i");//操作后数据库受影响的行数。
//获取和处理ResultSet结果集
// while(rs.next()) {
// int ids = rs.getInt("id");
// String names = rs.getString("name");
// System.out.println(ids+names);
// }
// if(rs.next()) {
// System.out.println(rs);
// System.out.println(sql);
// System.out.println("登录成功!!!!"+ "\n" +"id="+id+" name="+name);
//
// }else {
// System.out.println(sql);
// System.out.println("登录失败!!!!"+name+id);
// }
// if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}
结果集查询的的结果默认为0开始即没有数据 要rs.next()指针下移才能找到数据