javaEE (八)javaweb_Mysql&JDBC

本文详细介绍了在JavaEE项目中使用Junit进行单元测试的方法,包括Junit的安装与配置,以及如何通过Junit测试JDBC与数据库的连接。同时,文中还提供了创建预处理对象、设置参数及执行SQL语句的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Date: 2018/11/22

这部分看了两天,主要是调Junit,加载驱动,配置环境,测试代码比较费劲,主要笔记连接:javaEE (七)javaweb_Mysql笔记


下载和安装:Mysql

我是直接下载的直接安装的版本,现在在用eclipse连接JDBC与数据库,看能不能行。(能行的)

  • 下载junit做单元测试,
    我下载了,然后好像不需要下载,直接创建一个,junit加载选第二种方法:
    在要使用Junit的project名上,点击properties–java build path-libraries, 点击Add
    library,选择JunitT即可。

    在这里插入图片描述

  • 为什么win10 没有eclipse和JDBC的链接库啊啊啊??? 所以只能用5.1版本了?(好像只有这两个版本)

下载5.1.47的第二个版本:

在这里插入图片描述

  • eclipse中的ctrl + 1 ,光标放@Test旁边,自动导入Junit包;
    run as junit 光标只能放在Test的函数旁边

  • 关于table里面设置primary key:
两种:  
create table 表名(
	uid int(32) primary key auto_increment,
	uname varchar(32) ,
	upassword varchar(32)
);
或:
create table stu_inform(
    id int(32) primary key  auto_increment,
    name varchar(20),
    grade double,
    primary key(id,name)  注,此处是联合主键,只有两者一起相同才冲突
);

JDBC开发步骤:

  1. 注册驱动 :Class.forName(“com.mysql.jdbc.Driver”);
  2. 获得连接:
Connection con = DriverManager.getConnection(url,username,password);
	
mysql的url: jdbc:mysql://localhost:3306/mydb1?useUnicode=true&characterEncoding=UTF8(?后可选)
  1. 获得语句执行者(后面我们用preparedStatement代替)
Statement stmt = con.createStatement();
PreparedStatement psmt = con.prepareStatement(sql);
  1. 执行sql语句
int executeUpdate(String sql) ;  执行insert、update、delete(DML语句)
ResultSet rs = stmt.executeQuery(sql); 执行select (DQL语句)
boolean execute(String sql)  执行select返回true,执行其他语句返回false
  1. 处理结果
rs.next();
rs.getObject(int col);
  1. 释放资源(先进先出)
rs.close();
stmt.close();
con.close()
4、创建预处理对象

发现只有在mysql Workbench中开关数据库才能真正关闭数据库

下面给出JDBC连接数据库的步骤和代码:

1、注册驱动
2、获取连接
3、编写SQL语句(需要写以下)
4、创建预处理对象
5、设置参数(从1开始(可选)
6、执行查找操作(如果是查询,需要写一下)
7、释放资源

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Test;

import com.mysql.jdbc.PreparedStatement;



public class Di2 {
	
	
//Junit做单元测试
@Test
public void testhhh() throws ClassNotFoundException, SQLException {
	testHh();
}

	
	 public void testHh() throws ClassNotFoundException, SQLException {
		 

		 Class.forName("com.mysql.jdbc.Driver");
			//2、获取连接(root和password自己设置一下)
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/pin?useSSL=false","root","1111");
		    //3、编写SQL语句
		    String sql = "select * from product ";
		    //4、创建预处理对象
		    PreparedStatement  pstmt = (PreparedStatement) conn.prepareStatement(sql);
		    //5、设置参数(从1开始)
		   /*pstmt.setString(1,"pingan");
		    pstmt.setDouble(2, 0.01);*/
		    //6、执行查找操作
		    ResultSet rs = pstmt.executeQuery(sql);
		    
		    if(rs.next()) {
		    	System.out.println("恭喜,登录成功!");
		    	String  pid = rs.getString("pid");
		    	String  pname = rs.getString("pname");
		    	String  price = rs.getString(3);    
		    	System.out.println(pid + " " + pname + " "  + price);
		    	System.out.println(sql);
		    	
		    }else {
		    	System.out.println("登陆失败!");
		    }
		    
		    
		    while(rs.next()) {
		    	
		    	String  pid = rs.getString("pid");
		    	String  pname = rs.getString("pname");
		    	String  price = rs.getString(3);    
		    	System.out.println(pid + "    " + pname + "    "  + price); 
		    }
		    
		    if(rs!=null)rs.close();
		    if(pstmt!=null)pstmt.close();
		    if(conn!=null)conn.close();
	    }
	       
}

用?写SQL代码然后测试还是没用啊?

limit关键字,limit(v1,v2):
将数据库用v2切割,每页显示v2个记录,然后v1是我们要查找的起始页
select * from tablename limit(6,3);
将记录每页显示3个分开,从第三页开始输出(6%3=2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值