如何用JAVA录入数据到SQL数据库

如何用JAVA录入数据到SQL数据库,第1张

Java可以使用JDBC对数据库进行读写。JDBC访问一般分为如下流程:

1、加载JDBC驱动程序:  

在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),  

这通过javalangClass类的静态方法forName(String  className)实现。  

例如:  

 try{  

   //加载MySql的驱动类  

   ClassforName("commysqljdbcDriver") ;  

 }catch(ClassNotFoundException e){  

 Systemoutprintln("找不到驱动程序类 ,加载驱动失败!");  

   eprintStackTrace() ;  

 }  

成功加载后,会将Driver类的实例注册到DriverManager类中。  

2、提供JDBC连接的URL  

连接URL定义了连接数据库时的协议、子协议、数据源标识。  

书写形式:协议:子协议:数据源标识  

协议:在JDBC中总是以jdbc开始  

子协议:是桥连接的驱动程序或是数据库管理系统名称。  

数据源标识:标记找到数据库来源的地址与连接端口。  

例如:(MySql的连接URL)  

jdbc:mysql://localhost:3306/testuseUnicode=true&characterEncoding=gbk ;  

useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为  

gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。  

3、创建数据库的连接  

要连接数据库,需要向javasqlDriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。  

使用DriverManager的getConnectin(String url,String username,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得。  

例如:  

 //连接MySql数据库,用户名和密码都是root  

 String url = "jdbc:mysql://localhost:3306/test" ;

 String username = "root" ;  

 String password = "root" ;  

 try{  

   Connection con =

   DriverManagergetConnection(url , username , password ) ;  

 }catch(SQLException se){  

 Systemoutprintln("数据库连接失败!");  

   seprintStackTrace() ;  

 }  

4、创建一个Statement  

要执行SQL语句,必须获得javasqlStatement实例,Statement实例分为以下3种类型:  

 1、执行静态SQL语句。通常通过Statement实例实现。  

 2、执行动态SQL语句。通常通过PreparedStatement实例实现。  

 3、执行数据库存储过程。通常通过CallableStatement实例实现。  

具体的实现方式:  

 Statement stmt = concreateStatement() ;  

 PreparedStatement pstmt = conprepareStatement(sql) ;  

 CallableStatement cstmt = conprepareCall("{CALL demoSp( , )}") ;  

5、执行SQL语句  

 Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute  

 1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。  

 2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等  

 3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。  

 具体实现的代码:  

 ResultSet rs = stmtexecuteQuery("SELECT FROM ") ;  

 int rows = stmtexecuteUpdate("INSERT INTO ") ;  

 boolean flag = stmtexecute(String sql) ;  

6、处理结果  

两种情况:  

 1、执行更新返回的是本次 *** 作影响到的记录数。  

 2、执行查询返回的结果是一个ResultSet对象。  

 ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。  

 使用结果集(ResultSet)对象的访问方法获取数据:  

 while(rsnext()){  

   String name = rsgetString("name") ;  

   String pass = rsgetString(1); // 此方法比较高效(列是从左到右编号的,并且从列1开始)    

 }  

7、关闭JDBC对象

  *** 作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:  

 1、关闭记录集  

 2、关闭声明  

 3、关闭连接对象  

 if(rs != null){   // 关闭记录集  

   try{  

     rsclose() ;  

   }catch(SQLException e){  

     eprintStackTrace() ;  

   }  

 }  

 if(stmt != null){   // 关闭声明  

   try{  

     stmtclose() ;  

   }catch(SQLException e){  

     eprintStackTrace() ;  

   }  

 }  

 if(conn != null){  // 关闭连接对象  

   try{  

     connclose() ;  

   }catch(SQLException e){  

     eprintStackTrace() ;  

   }  

 }

Java程序向数据库中插入数据,代码如下:

//首先创建数据库,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置数据源(odbc);//然后再eclipse中创建类(ConnDb,Test,TestBean)ConnDb功能为连接数据库,查询,插入,删除,修改数据的类,Test为含有main方法的测试类,TestBean为数据表中的字段属性及set,get方法//以下是ConnDb代码:package db;import javasqlConnection;import javasqlDriverManager;import javasqlResultSet;import javasqlSQLException;import javasqlStatement;import javautilArrayList;public class ConnDb {public Connection startConn(Connection conn){ try { ClassforName("sunjdbcodbcJdbcOdbcDriver"); conn = DriverManagergetConnection("jdbc:odbc:数据库","用户名", "密码"); } catch (Exception e) { Systemoutprintln("连接数据库时出现错误"); } return conn; } public ArrayList executeQuery(String sql){ Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList list = new ArrayList(); try { conn = startConn(conn); stmt = conncreateStatement(); rs = stmtexecuteQuery(sql);//sql为sql语句例如"select from 表名",从main方法中传进来,这里用的是ArrayList 类将查询结果存储起来 while(rsnext()){ TestBean tb = new TestBean(); tbsetTid(rsgetString("tid")); tbsetTname(rsgetString("tname")); tbsetTinfo(rsgetString("tinfo")); listadd(tb); } } catch (SQLException e) { // TODO Auto-generated catch block eprintStackTrace(); }finally{ closeConn(rs,stmt,conn); } return list; } public void executeUpdate(String sql){ Connection conn = null; Statement stmt = null; try { conn = startConn(conn); stmt = conncreateStatement(); stmtexecuteUpdate(sql); } catch (SQLException e) { Systemoutprintln("修改,插入或者删除数据库数据时发生错误!"); }finally{ closeConn(stmt,conn); } } public void closeConn(ResultSet rs,Statement stmt,Connection conn){ try { if(rs != null){ rsclose(); } if(stmt != null){ stmtclose(); } if(conn != null){ connclose(); } } catch (SQLException e) { // TODO Auto-generated catch block Systemoutprintln("关闭数据库的时候发生错误!"); } } public void closeConn(Statement stmt,Connection conn){ try { if(stmt != null){ stmtclose(); } if(conn != null){ connclose(); } } catch (SQLException e) { // TODO Auto-generated catch block Systemoutprintln("关闭数据库的时候发生错误!"); } }}

以上就是关于如何用JAVA录入数据到SQL数据库全部的内容,包括:如何用JAVA录入数据到SQL数据库、JAVA嵌入数据库:用java代码实现像数据库表中插入信息,怎么写、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10177655.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存