java通过eclipse连接数据库mysql操作总结

先下载phpstudy(里面已经集成有mysql 和以后要用到的tomcat)

 然后下载jdbc地址:https://www.mysql.com/products/connector

下载对应的jdbc然后在eclipse配置jdbc

窗口---首选项--java---构建路径---用户库---新建---输入jdbc--打勾---确定


选择添加外部jar

选择解压出来的jdbc文件


检查是否导入成功

在头部输入  import org.

看后面是否出现gjt.mm.mysql.*;

有就导入成功

接下来用代码检验



import java.sql.*;


public class MySqlTest {
	public static void main(String[]arg){
		try {
			Class.forName("com.mysql.jdbc.Driver");//加载jdbc驱动
			//Class.forName("org.gjt.mm.mysql.Driver");注意是过时的加载驱动的语句
			System.out.println("已经加载驱动");
			Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");//连接URL   jdbc:mysql//服务器地址/数据库名  ,后面的2个参数分别是登陆用户名和密码
			System.out.println("连接数据库成功");
			Statement st= cn.createStatement();// 创建statement(声明)用来执行SQL语句 
                 

                         ResultSet rs = st.executeQuery("select * from name");//查询数据 name是你表名,里面的sql语句
	                 String sql = "insert into users values(2,'ajax','ajax','ajax@qq.com')";  
                         //建立PreparedStatement对象   
                         PreparedStatement pst = conn.prepareStatement(sql);  
                         pst.executeUpdate();  		
                         while(rs.next()){
				System.out.println(rs.getString("username"));//username是你的表里面列名字
			}
                        }catch(Exception e){
			System.out.println("erro!");
			 e.printStackTrace();//注意打印错误 才能及时发现那里错了
		}
	}
}




总结:java连接mysql数据库


1、将驱动载入IDE


2、调用Class.forName("com.mysql.jdbc.Driver");载入驱动

3、调用DriverManager对象的getConnection(url , username , password ) ; 获得一个connection对象,连接数据库

Connection cn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");

       //问题1:如何理解

4、创建对应的Statement对象 ,该对象下的方法用于执行SQL语句

Statement stmt = con.createStatement();
preparedStatement pstmt = con.prepareStatement(sql) ;     
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;

5、调用对应的excteQuery()等方法来执行SQL语句;

String sql = "select * from users";//要执行的SQL  
                  
/*在查询询数据表时,需要用到ResultSet接口,通过该接口的实例可以获得检索结果集,以及对应数据表的接口信息。*/  
ResultSet rs = stmt.executeQuery(sql);//创建数据对象

//问题2:statement和excteQurey的联系


6处理结果

  1.     两种情况:   
  2. 1)执行更新返回的是本次操作影响到的记录数。   
  3. 2)执行查询返回的结果是一个ResultSet对象。   
  4. ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。

    while (rs.next()) {  
                            }
7、关闭JDBC对象,释放资源
  1. 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:   
  2. 1)关闭记录集   
  3. 2)关闭声明   
  4. 3)关闭连接对象  
  5.  rs.close();  
            stmt.close();  
            conn.close(); 




ps:  本文引用自①

//问题1:如何理解

Connection cn = DriverManager.getConnection();

其中Connection是接口,JdbcConnection是一个普通的类,getConnection()方法是静态方法,它们之所以能用 = 连起来,因为getConnection()方法返回的是实现了Connection接口的类的实例。(引用 ②)

//问题2:statement和excteQurey的联系

实际上有三种 Statement 对象,它们都作为在给定连接上执行 SQL语句的包容器:
(1),Statement、 对象用于执行不带参数的简单 SQL 语句;

(2),PreparedStatement(它从 Statement 继承而来)用于执行带或不带 IN参数的预编译 SQL 语句

(3),CallableStatement(它从 PreparedStatement 继承而来)用于执行对数据库已存储过程的调用。添加了处理 OUT 参  数的方法

Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。使用哪一个方法由 SQL 语句所产生的内容决定。

方法 executeQuery 用于产生单个结果集的语句,例如 SELECT 语句。

方法 executeUpdate 用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。INSERT、UPDATE 或 DELETE 语句的效果是修改表中零行或多行中的一列或多列。。executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不操作行的语句,executeUpdate 的返回值总为零

方法 execute 用于执行返回多个结果集、多个更新计数或二者组合的语句。

{在调用方法 execute 之后要做的第一件事情是调用 getResultSet 或 getUpdateCount。调用方法 getResultSet 可以获得两个或多个 ResultSet 对象中第一个对象;或调用方法 getUpdateCount 可以获得两个或多个更新计数中第一个更新计数的内容。

(stmt.getMoreResults() == false) && (stmt.getUpdateCount() == -1))//无更新}

继承了 Statement 接口中所有方法的 PreparedStatement 接口都有自己的 executeQuery、executeUpdate 和 execute 方法。(引用③)


①https://blog.csdn.net/u010297791/article/details/52637868(原创)

②https://blog.csdn.net/baoxiaofeicsdn/article/details/48826831(原创)关键字:类的实例化 factory方法

③https://www.cnblogs.com/killer-xc/p/7941343.html(转载)



  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值