内容:供程序员调用的接口与类,集成在java.sql和javax.sql包中,如:
DriverManager类
Connection接口
Statement接口
ResultSet接口

1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

2.Connection conn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databasename=data", "sa", "123");

Statement stm=con.createStatement();
String sql="select * from users where username='"+name+"' and userpwd="+pwd;
ResultSet rs=stm.executeQuery(sql);
if(rs.next()){
System.out.println("成功");
}else{
System.out.println("不成功");
}

//得到连接Connection
public static Connection getConn(){
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");//加载驱动包

conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
//创建连接数据库的流

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return conn;
}
/*关闭连接的方法:先关结果集 再关船 再关连接
* 铁船继承普通船
*/
public static void closeConn(ResultSet rs,Statement st,Connection conn){

try {
if(rs!=null){
rs.close();
}
if(st!=null){
st.close();
}
if(conn!=null){
conn.close();
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.建连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

/*3.准备sql语句:
* 一次插入50条数据
*/
String sql = "insert into student values(seq_stu.nextval,?,?,?,to_date(?,'yyyy-mm-dd'),?)";

//4.创建铁船
PreparedStatement pst = conn.prepareStatement(sql);
for(int i=0;i<50;i++){
pst.setString(1, "小菜"+i);
pst.setString(2, "女");
pst.setDouble(3, 100.0);
pst.setString(4, "1900-1-1");
pst.setString(5,"马兰山马兰坡");
//把数据存入Batch容器
pst.addBatch();
}
int[] arr = pst.executeBatch();

///*5.执行sql语句并返回结果
if(arr.length>=50){
System.out.println("添加成功");
}

//6.关连接
pst.close();
conn.close();
System.out.println("程序结束");

事务:
public static void main(String[] args) throws Exception {
//1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
//2.建连接
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");
System.out.println(conn);
//开启事务:设置不自动提交
conn.setAutoCommit(false);

/*3.准备sql语句:
* 小强1的钱减少100
* 小强3的钱增加100
*/
String sql = "update student set stu_money=stu_money-100 where stu_id=23";
String sql2 = "update student set stu_money=stu_money+100 where stu_id=24";

//4.创建Statement;普通船
Statement st = conn.createStatement();

///*5.执行sql语句并返回结果

int a = st.executeUpdate(sql);
int b = st.executeUpdate(sql2);

if(a>0&&b>0){
//如果两个操作都成功了 提交事 务
conn.commit();
}else{
//回滚:恢复到原来的状态
conn.rollback();
}

//6.关连接
st.close();
conn.close();
System.out.println("程序结束");

}

最新文章

  1. HTML表单提交
  2. 第1讲 Redis部署与基本操作
  3. js中的延迟执行和定时执行
  4. iOS阶段学习第三天笔记(运算符)
  5. 100114G
  6. php批量下载文件
  7. tcpip
  8. css学习笔记(8)
  9. iOS 推送证书
  10. 用WebStorm调试本地html(含嵌入的javascript).
  11. js常用正则表达式汇总
  12. python 爬一下
  13. Node.js可以做些什么?
  14. 在多线程中进行UI操作--ios学习笔记
  15. Tapestry5.3使用总结
  16. mysql基本操作 [http://www.cnblogs.com/ggjucheng/archive/2012/11/03/2752082.html]
  17. AutoMapper在asp.netcore中的使用
  18. Tensorflow使用Cmake在Windows下生成VisualStudio工程并编译
  19. Python 小试牛刀,Django详细解读,让你更快的掌握它!!!
  20. [转]/etc/passwd文件解析

热门文章

  1. 【codeforces 128C】Games with Rectangle
  2. 【codeforces 553C】Love Triangles
  3. Python学习第二天-编写购物车
  4. zookeeper 安装笔记 3.6.7
  5. [PYTHON]一个简单的单元測试框架
  6. 手机Android音视频採集与直播推送,实现单兵、移动监控类应用
  7. iOS: 零误差或极小误差的定时执行或延迟执行?
  8. WLAN STA/AP 并发
  9. Git 内部原理 - (7)维护与数据恢复 (8) 环境变量 (9)总结
  10. CentOS下安装SVN服务端