import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* TestDemo.java
* 使用java对sql server进行增删改查
* ---------------------------
* 数据库名:test
* 表名:user
* 拥有字段:
* id:int(identity(1,1))
* userName:nvarchar
* password:nvarchar
* ---------------------------
* 部分方法会要求try-catch
* 为了简洁
* 对异常进行了 throws
*/
public class TestDemo {
/*
* 使用PreparedStatement对象操作数据库
* 好处比Statement多太多
* 安全性,性能...
*
* PreparedStatement的参数索引从1开始.
*
* 一些常用的方法
* ResultSet executeQuery();//可以执行sql查询,返回ResultSet对象
* int executeUpdate();//可以执行“增删改”,返回受影响行数
* boolean execute();//可以执行任意sql语句,如果结果为Result对象,返回true,反之:false
*/
private static PreparedStatement ps;
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//访问数据库的url
String url = "jdbc:sqlserver://localhost:1433;databasename=test";
//加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//建立连接
Connection conn = DriverManager.getConnection(url,"username","password");
/*insert*/
ps = conn.prepareStatement("insert into [user] values(?,?)");
ps.setString(1, "小红");//设置userName为:小红
ps.setString(2, "小红的密码");//设置password为:小红的密码
if(ps.executeUpdate()>0){//如果返回的影响行数大于0,则证明增加成功
System.out.println("增加了一条记录");
}
/*update*/
ps = conn.prepareStatement("update [user] set password=? where userName=?");
ps.setString(1, "pwd");//设置小红的密码为:pwd
ps.setString(2, "小红");//设置update条件,userName=小红
System.out.println("更新了:"+ps.executeUpdate()+" 条记录");
/*query*/
ps = conn.prepareStatement("select * from [user]");//查询所有user
ResultSet rs = ps.executeQuery();
while(rs.next()){//如果没有下一条记录,返回false,跳出循环
//System.out.println("姓名:"+rs.getString("username")+",密码:"+rs.getString("password"));
String username = rs.getString("username");
String pwd = rs.getString("password");
System.out.println("姓名:"+username+",密码:"+pwd);
}
/*delete*/
ps = conn.prepareStatement("delete [user]");//这将删除user中的所有记录
System.out.println("删除了:"+ps.executeUpdate()+" 条记录");
/*close 释放资源*/
rs.close();
ps.close();
conn.close();
}
}
|
|