MySQL---数据库从入门走向大神系列(二)-用Java对MySQL进行增删改查
        【摘要】  上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。 
本节将用Java演示对MySQL进行增删改查。 
简单的来说,分为4个步骤: 
1、加载连接器(驱动)   通过Driver类 (最好用类反射来加载,更加灵活) 
2、建立与数据库的连接 
3、获取语句对象 
4、对数据库进行操作(增删改查) 
  
其实第一步现在可以不用写...
    
    
    
    上节已经学会对MySQL进行简单的增删改查了,那么,我们如何实现用Java来对数据库操作增删改呢。
本节将用Java演示对MySQL进行增删改查。
简单的来说,分为4个步骤:
1、加载连接器(驱动) 通过Driver类 (最好用类反射来加载,更加灵活)
2、建立与数据库的连接
3、获取语句对象
4、对数据库进行操作(增删改查)
 
其实第一步现在可以不用写了,高版本的MySQL已经在内部帮我们写好了第一步,但是,为了兼容性更好(兼容低版本的MySQL)我们最好还是写上第一步。
 
我们先看一下原数据库表:

 
 
 
用Java对数据库进行增删改:
 
  
   - 
    
     
    
    
     
      package cn.hncu.sqlHello;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import java.sql.Connection;
     
    
- 
    
     
    
    
     
      import java.sql.DriverManager;
     
    
- 
    
     
    
    
     
      import java.sql.SQLException;
     
    
- 
    
     
    
    
     
      import java.sql.Statement;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import org.junit.Test;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      //import com.mysql.jdbc.Driver;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      public class dbAccess {
     
    
- 
    
     
    
    
     	
     
    
- 
    
     
    
    
     	@Test
     
    
- 
    
     
    
    
     	public void hello() throws ClassNotFoundException, SQLException {
     
    
- 
    
     
    
    
     		//1、加载连接器(驱动) Driver 
     
    
- 
    
     
    
    
     
      		Class.forName("com.mysql.jdbc.Driver");
     
    
- 
    
     
    
    
     		//用类反射加载,更灵活
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		//2、建立连接
     
    
- 
    
     
    
    
     		//String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码
     
    
- 
    
     
    
    
     
      		String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     
      		Connection con  = DriverManager.getConnection(url, "root", "1234");
     
    
- 
    
     
    
    
     		//这3个参数是:连接串、用户名、密码
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		//3、获取语句对象
     
    
- 
    
     
    
    
     
      		Statement st = con.createStatement();
     
    
- 
    
     
    
    
     		//对表格hncu增加一行数据
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		4 对数据库进行操作(增删改)
     
    
- 
    
     
    
    
     
      		String sql = "insert into stud values('1010','杨过',26,'武侠')";
     
    
- 
    
     
    
    
     		//String sql = "insert into stud values('1010','杨过',26,'武侠');";//sql语句加上分号也是一样的。
     
    
- 
    
     
    
    
     		//但是注意!!!不能一次添加多条语句运行!(中间用分号隔也不行)
     
    
- 
    
     
    
    
     
      		st.execute(sql);//增删改用:st.excute()方法
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
     
      }
     
    
- 
    
     
    
    
      
     
    
 如果要运行多条语句怎么办,那就像这样的,运行多次第4步,可以达到相同的效果:
例:
  
   - 
    
     
    
    
     
      sql = "insert into stud values('1011','杨过1',26,'武侠');";
     
    
- 
    
     
    
    
     
      st.execute(sql);
     
    
- 
    
     
    
    
     
      sql = "insert into stud values('1011','杨过1',26,'武侠');";
     
    
- 
    
     
    
    
     
      st.execute(sql);
     
    
 运行之后的stud表:

 
 
 
删除和修改也是和增加一样的,只要把sql那个字符串换一下就可以了(sql那个字符串为SQL操作语句)。
 
查询有所不同!
Java查询SQL数据库语句代码如下:
  
   - 
    
     
    
    
     
      package cn.hncu.sqlHello;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import java.sql.Connection;
     
    
- 
    
     
    
    
     
      import java.sql.DriverManager;
     
    
- 
    
     
    
    
     
      import java.sql.ResultSet;
     
    
- 
    
     
    
    
     
      import java.sql.SQLException;
     
    
- 
    
     
    
    
     
      import java.sql.Statement;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      import org.junit.Test;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      //import com.mysql.jdbc.Driver;
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      public class dbAccess {
     
    
- 
    
     
    
    
     	
     
    
- 
    
     
    
    
     	@Test
     
    
- 
    
     
    
    
     	public void hello() throws ClassNotFoundException, SQLException {
     
    
- 
    
     
    
    
     		//1、加载连接器(驱动) Driver 
     
    
- 
    
     
    
    
     
      		Class.forName("com.mysql.jdbc.Driver");
     
    
- 
    
     
    
    
     		//用类反射加载,更灵活
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		//2、建立连接
     
    
- 
    
     
    
    
     		//String url = "jdbc:mysql://127.0.0.1:3306/hncu";//这一句是采用默认编码
     
    
- 
    
     
    
    
     
      		String url = "jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8";//采用指定编码连接
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     
      		Connection con  = DriverManager.getConnection(url, "root", "1234");
     
    
- 
    
     
    
    
     		//这3个参数是:连接串、用户名、密码
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		//3、获取语句对象
     
    
- 
    
     
    
    
     
      		Statement st = con.createStatement();
     
    
- 
    
     
    
    
     		//对表格hncu增加一行数据
     
    
- 
    
     
    
    
     		
     
    
- 
    
     
    
    
     		//4 对数据库进行操作(查询)
     
    
- 
    
     
    
    
     
      		String sql = "select * from stud where sname like '%三%' or sname like '%四%';";
     
    
- 
    
     
    
    
     
      		ResultSet rs =  st.executeQuery(sql);
     
    
- 
    
     
    
    
     		while(rs.next()){
     
    
- 
    
     
    
    
     			//为什么不用hasNext呢,因为rs就像一个指针,rs最开始的位置并不是指向第一个数据,
     
    
- 
    
     
    
    
     			//而是指向开头地址,所以不能用hasNext来判断,而必须跳过第一个不读.
     
    
- 
    
     
    
    
     
      			String sno = rs.getString(1);//指定列号的方式读取。第一列的序号为1。
     
    
- 
    
     
    
    
     			
     
    
- 
    
     
    
    
     
      			String sname = rs.getString("sname");//指定列名的方式来读取
     
    
- 
    
     
    
    
     			int age = rs.getInt("age");
     
    
- 
    
     
    
    
     
      			String saddress = rs.getString(4);
     
    
- 
    
     
    
    
     
      			System.out.println(sno+","+sname+","+age+","+saddress);
     
    
- 
    
     
    
    
     
      		}
     
    
- 
    
     
    
    
     
      	}
     
    
- 
    
     
    
    
     
      }
     
    
 
 

 
 
其他的都是这样,改掉sql语句就可以进行对应的增删改查了!
 
 
文章来源: chenhx.blog.csdn.net,作者:谙忆,版权归原作者所有,如需转载,请联系作者。
原文链接:chenhx.blog.csdn.net/article/details/52134644
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)