Java数据库操作(多语句提交)
2017-07-10 18:50
232 查看
package com.wei.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; public class DBHelper { String sDriverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String sDBUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=Test"; String sUser = "sa"; String sPwd = "123456"; private Connection conn = null; //连接数据库 public boolean connect() { try { Class.forName(sDriverName); try { conn = DriverManager.getConnection(sDBUrl, sUser, sPwd); return true; } catch (SQLException e) { System.out.println("DBConnect:"+e); return false; } } catch (ClassNotFoundException e) { System.out.println("connect:"+e); return false; } } //数据库关闭 public void close() { if (conn != null) { try { conn.close(); } catch (SQLException e) { System.out.println("close:"+e); } } } //执行多条语句 public boolean executeMore(List<String> sqlList) { if (conn!=null) { try { boolean isAutoCommit=conn.getAutoCommit(); conn.setAutoCommit(false); Statement statement= conn.createStatement(); for (int i = 0; i < sqlList.size(); i++) { statement.addBatch(sqlList.get(i)); } statement.executeBatch(); conn.commit(); conn.setAutoCommit(isAutoCommit); } catch (Exception e) { System.out.println("executeMore:"+e); try { conn.rollback(); } catch (Exception rollbackError) { System.out.println("rollback:"+e); } return false; } } return false; } //执行单条语句 public boolean execute(String sql) { if (conn!=null) { try { PreparedStatement pst=conn.prepareStatement(sql); pst.executeUpdate(); return true; } catch (SQLException e) { System.out.println("execute:"+e); return false; } } return false; } //查询数据 public ResultSet query(String sql){ try { Statement statement= conn.createStatement(); ResultSet rs=statement.executeQuery(sql); return rs; } catch (Exception e) { System.out.println("query:"+e); return null; } } }
import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import com.wei.db.DBHelper; public class Test { public static void main(String[] args) { boolean res=false; List<String> sqlList=new ArrayList<String>(); for (int i = 1; i < 50; i++) { String sql="insert into UserInfo(user_name) values('number"+i+"')"; sqlList.add(sql); } //添加错误语句 //String errorSql="insert into UserInfo(user_name) values('number',1)"; //sqlList.add(errorSql); DBHelper helper=new DBHelper(); res=helper.connect(); if (res) { System.out.println("Connect success..."); //执行所有SQL语句 helper.executeMore(sqlList); //查询 ResultSet rs=helper.query("select * from UserInfo"); try { while (rs.next()) { String name=rs.getString(1); System.out.println(name); } } catch (Exception e) { System.out.println("ResultSet:"+e); } }else { System.out.println("Connect fail..."); } helper.close(); } }
相关文章推荐
- Mongo DB java 起步操作,连接数据库,查询语句
- JAVA中数据库操作中sql语句遇到的问题
- Java的Hibernate框架中用于操作数据库的HQL语句讲解
- Java学习篇之SQL语句(操作数据库和数据表)
- 【JAVA与C#比较】SQL语句操作数据库
- Java+MyEclipse+Tomcat (四)Servlet提交表单和数据库操作
- Java语句轻松实现与数据库MYSQL【本地数据库】的连接,和对数据库的增删改查操作
- Java中操作数据库语句JDBC基础
- java代码,使用sql语句操作mongo数据库
- java操作数据库的语句一个易错点
- java中连接数据库操作的语句,获得执行sql语句对数据库进行操作
- Java动态生成SQL语句通过JDBC达成数据库操作
- 使用XML封装数据库操作语句的实现(zz)
- JAVA中数据库操作的各种方式与设计模式的应用
- JAVA中数据库操作的各种方式与设计模式的应用(http://blog.csdn.net/wangyihust/archive/2006/01/14/579613.aspx)
- 用JAVA操作数据库Datetime数据
- 研究并用JAVA操作DOMINO的mtcstore.nsf数据库
- 使用XML封装数据库操作语句的实现
- [冷枫推荐]:数据库操作,内外联查询,分组查询,嵌套查询,交叉查询,多表查询,语句小结。
- 实战 php调用java类由java类读数据库完成相关操作(Inber Write)